maneich
-
Gesamte Inhalte
34 -
Registriert seit
-
Letzter Besuch
Beiträge erstellt von maneich
-
-
Hallo,
ich denke die erste Batch dürfte in den Modus einer .com-Datei umgewandelt worden sein.
Diese Datei dürfte jedoch als .com-Datei nicht lauffähig sein, da ihr die die Merkmale fehlen um vom System als ausführbare .com-Datei interpretiert zu werden.
Die zweite Datei scheint eher als .exe-Datei interpretiert zu sein.
MfG maneich
-
Hallo,
klar kannst Du das machen.
Dafür kannst Du das kleine Programm setword.com auch nehmen mit
setword>tmp.bat
call tmp.bat a
hast Du in %a% Deine Eingabe stehen.
Mit echo.|date|setword>tmp.bat kannst du zwar auch das Datum ermitteln, das ist aber für Dein Problem nicht zu gebrauchen (liefert die Jahresangabe 4-stellig).
Der dir-Befehl gibt aber das Jahr nur 2-stellig zurück, also mußt Du unbedingt das Jahr auch "2-stellig" angeben (tt.mm.yy). Der Suchbegriff wird sonst nicht gefunden.
Danach suchst Du im Verzeichnis mit
dir /od *.sta|find "%a%">loe.txt
Dateien mit dem entsp. Datum und benötigst zur Bearbeitung dann nur noch
:zs1
rem Dateinamen aus 1. Zeile lesen
type loe.txt|setword 6>tmp.bat
call tmp a
rem wenn .txt-Datei leer Ende
if %a%'==' goto end
rem erste Zeile der .txt-Datei wird immer entfernt
type loe.txt|find /v "%a%">loe.txt
type %a%>>xy.txt bzw. copy %a% xy
goto zs1
:end
set a=
cls
MfG maneich
-
Hallo,
so wie ich das sehe, willst Du immer die Dateien mit dem vorletzten Datum ermitteln und kopieren. Für Win9X Systeme ist das nicht ganz so einfach, eine .vbs-Datei würde das hier vereinfachen. Habe es aber denoch mit einer Batch + 2 Zusatztools (Batch + Com) gemacht.
[Deine Batch] (erste Batch)
------------------ab hier
@echo off
cls
rem aktuelles Datum
call datex a 1
rem alle Dateien vor den aktuellen Datum
dir /od *.sta|find /v "%a%">loe.txt
rem Dateien mit vorletztem Datum ermitteln
type setword 4 >tmp.bat
call tmp a
rem alle dateien mit vorletztem Datum speichern
type loe.txt|find "%a%">loe.txt
:zs1
rem Aufruf einzelner Dateien
type loe.txt|setword 6>tmp.bat
call tmp a
rem wenn .txt-Datei leer Ende
if %a%'==' goto end
rem erste Zeile der .txt-Datei wird entfernt
type loe.txt|find v "%a%">loe.txt
type %a%>>xy.txt
goto zs1
:end
set a=
cls
------------------bis hier
Für das aktuelle Datum sofern benötigt; bietet mehrere Möglichkeiten)
Datex.bat
-------------------------ab hier
@echo off
cls
rem Erläuterungen siehe am Ende
rem oder nur einfach datex1 eingeben
for %%e in (loop loop2 loop3) do if %2'==%%e' goto %2
set a2=%1
set a3=%2
set a4=%3
set ~t=%TEMP%.\Tmp
echo @Prompt For %%%%%%%%D In ($D) Do Call %0 : loop %%%%%%%%D>%~t%1.bat
%COMSPEC% /C %~t%1.bat.>%~t%2.bat
call %~t%2.bat
call %~t%4 a1
Echo ; | Choice /S /C:;%a1%; %0 : loop2,>%~t%1.bat
%~t%1.bat
:loop
Echo @Prompt Set %%%%1=_%3_ > %~t%3.bat
%COMSPEC% /C %TEMP%.\Tmp3.bat > %~t%4.bat
For %%C In (Call Goto:end) Do %%C %~t%4
:loop2
set a1=%0
for %%e in (x x1 x2) do set %%e=
If %4'==_' Shift
for %%e in (set shift) do %%e x=%x%%4
for %%e in (set shift) do %%e x=%x%%4
for %%e in (set shift) do %%e x=%x%%4
for %%e in (set shift) do %%e x1=%x1%%4
for %%e in (set shift) do %%e x1=%x1%%4
if %a3%'==1' for %%e in (shift shift shift goto:loop11) do %%e
shift
for %%C in (shift set) do %%C x2=%4
for %%C in (shift set) do %%C x2=%x2%%4
:loop11
for %%C in (shift set) Do %%C x2=%x2%%4
for %%C in (shift set) do %%C x2=%x2%%4
if not %a4%'==1' for %%e in (shift set goto:end1) do %%e x=%x%%x1%.%x2%
echo %a1% : loop3 01;Januar;02;Februar;03;Maerz;04;April;05;Mai;06;Juni;07; Juli;08;August;09;September;10;Oktober;11;November;12;Dezember;%1>%~t%0.bat
For %%C In (Call Goto:end) Do %%C %~t%0.bat
:loop3
if %3==%x1% for %%e in (shift set goto:end1) do %%e x=%x%%4 %x2%
for %%e in (shift shift goto:loop3) do %%e
:end1
if not "%a2%"=="" goto end2
echo.
echo Ermittelt nur das aktuelle Datum
echo %%1 = Ausgabe-Variable fuer das Datum
echo %%2 = Jahresangaben leer oder 0 wenn Jahr ist 4-stellig / 1 ist 2-stellig
echo 0 nur angeben wenn %%3 aktiviert
echo %%3 = Monat leer ist Zahl / 1 ist Text
echo.
echo Aktuelles Datum: %x%
for %%e in (echo. pause goto:end3) do %%e
:end2
set %a2%=%x%
:end3
del %~t%?.bat>nul
for %%e in (a2 a3 a4 a1 x x1 x2 ~t) do set %%e=
:end
cls
-------------bis hier
[.com-Datei - Setword.com] um in Win9X tokens (Wörter ) einer Zeile zu ermitteln.
einfach in eine Textdatei (z.B Notepad) als setword.com Datei abspeichern
[setword.com]
-------------ab hier
¾ ¬< tûN+À*ÿ¹
ŠF€ë08Ës÷áØsíP¾¢+Û‰ò¹ ð´?Í!‹ØÆ ¹ º›» ´@Í!]…íuE+ɬ< tû<,t÷<;tó<=tï<
të<
tçN‰ò€<t FŠ< t<,t<;t<=t<
t<
uàA;Íu¿‹Î)Ñ´@Í!´>Í!¸ LÍ!set %1=
---------------bis hier
müßte auf dieser Basis laufen; mußt das ganze aber noch auf Deine Bedürfnisse anpassen.
MfG maneich
-
Hallo,
INT 24 ist eine Fehlermeldung und besagt, daß in der Autoexec.bat ein Eintrag fehlerhaft oder falsch ist.
Da er trotzdem startet, scheint dieser Eintrag für den Startvorgang nicht wichtig zu sein. Würde hier aber trotzdem mal alle Einträge überprüfen.
MfG maneich
-
Hallo,
normalerweise stehen diese Einträge in der Registry unter
HKEY_CLASSES_ROOT\Folder\shell
und in
HKEY_CLASSES_ROOT\Directory\shell
mußt mal überprüfen.
Bzgl. der Miniaturansicht lies Dir das mal durch:
http://www.winfaq.de/faq_html/tip1152.htm
MfG maneich
-
Hallo,
das sind Erfahrungswerte. Vielleicht habe ich darüber auch irgendwann einmal darüber gelesen, weiß ich aber nicht mehr.
Wenn Du z.B. den xcopy-Befehl einsetzt um ein Verzeichnis mit 1000 Dateien zu kopieren, sammelt xcopy erstmal die Informationen über die zu kopierenden Dateien und arbeitet dies danach ab. Wenn das zu viele Informationen für ihn sind oder der Zwischenspweicherplatz nicht ausreicht, geht xcopy in die Kniee.
Wenn du z.B. mit
for /f "tokens=*" %%e in ('dir /b Verzeichnis\*.*') do xcopy verzeichnis\%%e
arbeitest, wird der dir-Befehl Zeile für Zeile abgearbeitet, d.h. also es werden die Dateien in diesem Verzeichnis einfach hintereinander kopiert.
MfG maneich
-
Hallo,
wenn Du xcopy bei größeren Datenmengen über eine for-Zeile in einer Batch oder der Eingabeaufforderung einsetzt, hast du damit keine Probleme. Im Gegenteil xcopy läuft schneller durch, auch wenn es noch gar nicht ausgereizt wäre.
MfG maneich
-
Hallo,
eine Batch ist ja normalerweise ein Stapelverarbeitungsscript. Alle Zeilen werden hintereinander abgearbeitet.
Fremdprogramme werden gestartet und damit ist diese Zeile in der das Programm aufgerufen wird für die Batch normalerweise erledigt.
Nun gibt es unter Windows das Programm "Start" mit dem man Befehle bzw. Programme unter bestimmten Bedingungen starten lassen kann. In der Eingabeaufforderung mal eingeben Start /? da wird alles erläutert.
Soweit ein Fremdprogramm das akzeptiert kann man mit Start /min dieses Programm minimiert starten und mit Start /d auch ohne Fenster starten. Einen Parameter um ein Programm nicht vorzeitig beenden zu können gibt es nicht, es sei denn dieses Programm selbst bietet so etwas an.
Außerdem kann man über den Taskmanager jederzeit Programme beenden, sofern man die Berechtigung dazu hat.
Bliebe also nur die Möglichkeit für den Zeitraum in der das Programm läuft die Berechtigung neu zu setzen bzw. alle Berechtigungen zu sperren.
MfG maneich
.exe Dateien bearbeiten
in Windows Forum — Allgemein
Geschrieben
Hallo,
ich kenne AutoIt habe mir aber nur die eigenständige .dll-Datei AutoIt3x geladen, da diese für bestimmte Arbeiten mit VBS ganz nützlich ist.
Gem. AutoIt benötigst Du für Veränderungen und Updates in der compilierten Exe-Datei die Reshacker.exe.
http://www.autoitscript.com/autoit3/scite/Scite4Autoit3Installation.htm
MfG maneich