Hi Leute!
Ich sitze mal wieder an einem Problem, das ich versuche, mit einer Bat-Datei zu lösen. Und zwar folgendes: Kann man eine Batch-Datei mit bestimmten Attributen öffnen (Z.B.: datei.bat /attr)
und diese Attribute dann in der Batch-Datei als Variable definieren (in diesem Fall „attr“)
Ist das Möglich? Wenn ja, wie?
Danke schon im vorraus für die Antwort!
Mfg, peacemaker
hallo
was genau meinst du mit „attribute“? wenn du normale aufrufparameter meinst, dann geht das ganz einfach. die sind nämlich über die pseudovariablen %1 - %9 bzw. %* verfügbar.
beispiel: du hast eine batch-datei „test.bat“
diese rufst du so auf: „test /att datei1 datei2“
in der batch-datei haben nun folgende variablen folgende werte:
%0 test.bat
%1 /att
%2 datei1
%3 datei2
%* /att datei1 datei2
alles klar?
lg
erwin
Hi Erwin,
danke für die schnelle Antwort, ich habs natürlich gleich ausprobiert…
Merkwürdig, dass es uns Mircosotf so einfach gemacht hat, aber es geht! Ich danke dir für die einfache, aber effektive Lösung! Gleich ein kleines Probeprogramm zum demonstieren Angefertigt, am Schluss kommt der Kot… (Für die, die es interessiert)
Mfg, peacemaker
Sourcecode:
@echo off
echo ++++++++++++++++++++++++
echo + Aufrufparameter-Demo +
echo ++++++++++++++++++++++++
echo Es wird nun eine Bat-Datei mit dem Namen "BATCH.bat" generiert.
echo Danach wird zur Konsole gewechselt, dort muss dann "batch.bat"
echo und die gewuenschten Zusatzparameter eingegeben werden!
ping localhost\>NUL
ping localhost\>NUL
echo.
echo Generiere...
echo.@echo off\>BATCH.bat
echo.echo Aufrufparameter:\>\>BATCH.bat
echo.echo 0) %%0\>\>BATCH.bat
echo.echo 1) %%1\>\>BATCH.bat
echo.echo 2) %%2\>\>BATCH.bat
echo.echo 3) %%3\>\>BATCH.bat
echo.echo 4) %%4\>\>BATCH.bat
echo.echo 5) %%5\>\>BATCH.bat
echo.echo 6) %%6\>\>BATCH.bat
echo.echo 7) %%7\>\>BATCH.bat
echo.echo 8) %%8\>\>BATCH.bat
echo.echo 9) %%9\>\>BATCH.bat
echo.pause\>NUL\>\>BATCH.bat
echo Generiert!
echo.
echo Wechsle zu Konsole...
ping localhost\>NUL
echo.
cmd.exe
del BATCH.bat
exit
Nachfrage wegen Ping
Hallo Smith & Wesson ,
was soll das mit dem Ping, nochdazu in zwei Zeilen untereinander.
Was soll das bewirken?
„>Nul“ ist mir bekannt, bin in Dos gar nicht schlecht, aber hab veraltetes Wissen dazu.
Und m.E. sind das was du nachfragst wie auch wohl so von Erwin so gesehen Dateiparameter und keine Dateiattribute.
Gruß
Reinhard
Hi Reinhard,
also, der Ping an localhost ist ein Ersatz für den sleep-Befehl (Der bei mir und vielen anderen irgendwie fehlt)
Normalerweise sollte man das nicht zwei mal untereinander schreiben, aber ich war zu faul, zu schauen, was ich da noch dranhängen muss, um die Ping-Häufigkeit zu bestimmen. Dieser Ping verzögert nur etwas, damit der User zum lesen kommt. Ich hätte auch sleep.exe aus dem Windows Resource Kit nehmen können, aber das könnte ich nicht einfach anhängen, und bei euch würde dann kommen
"Der Befehl "sleep.exe" ist entweder falsch geschrieben oder
konnte nicht gefunden werden."
Mfg, peacemaker