haufeft
Goto Top

test.cmd parameter

hallo

kann ich eine batch mit /parameter aufrufen?

wie mache ich das in die batch ?

wollte eine batch datei haben die z.b den pc neustarten abmelden herunterfahren vorkonfiguriert ist und ich es nur noch mit test.cmd /r zum reboot bringe.

hoffe das geht


mfg haufe

und guten rutsch

Content-ID: 76928

Url: https://administrator.de/forum/test-cmd-parameter-76928.html

Ausgedruckt am: 13.03.2025 um 17:03 Uhr

miniversum
miniversum 31.12.2007 um 14:01:27 Uhr
Goto Top
Parameter werden in Batch einfach über %1 %2 %3 ... bis %9 abgefragt. Also steht z.B. in der Variabeln %5 der 5. Parameter.
%0 enthält den Dateinamen der Batchdatei selbst.
Willst Du mehr als 9 Parameter übergeben können mit dem Befehl shift die Parameter "verschoben" werden, so das dann unter %1 der Parameter von %2 zu finden ist.


Wenn du nur zum runterfahren, abmelden oder neustarten das machen sollst, dafür gibt es die shutdown.exe die mit den entsprechenden Parametern -L, -s oder -r ausgeführt werden kann.

miniversum
13100
13100 31.12.2007 um 14:02:53 Uhr
Goto Top
im batchfile %1 für den ersten parameter benützen,
%2 für den zweiten und soweiter und sofort.
Dani
Dani 31.12.2007 um 14:04:02 Uhr
Goto Top
Hi haufeft,
an sich kein großes Ding. face-smile

Alle Paramter wo du hinten einfach mehr Leerzeichen anhängst, kannst du mit %1, %2, ....im Script aufrufen:
C:\> test.bat dollar euro dmark
Das Script für die einfach Ausgabe (einfaches Beispiel) sieht so aus:
@echo off

echo %1
echo %2
echo %3
Ergebnis:
C:\>dollar
C:\>euro
C:\>dmark
Wichtig ist, falls mal ein Parameter an sich Leerzeichen enthält, diesen dann in Anführungszeichen zu schreiben:
C:\> test.bat "hallo welt"  
Sonst meint der Interpreter es handelt sich um 2 Parameter.
Im Script dann auch die Anführungszeichen benutezn. Da Sonst einfach ein SPlit beim Leerzeichen gemacht wird.


Grüße
Dani
haufeft
haufeft 31.12.2007 um 14:38:41 Uhr
Goto Top
Vielen Dank für die Antworten.

@miniversum

Das Beisbiel mit Shutdown brauche ich für meinen Bot.

@echo off
:main

if "%1" == "-r" goto a  
if "%1" == "-s" goto b  
goto :end


:a
shutdown -r -t 25 -c "der pc wird von BOT neu gestartet!!!" -f  
goto :eof

:b
shutdown -s -t 25 -c "der pc wird von BOT heruntergefahren!!!" -f  
goto :eof

:end

da ich nicht möchte das mein Bot 100 exe Dateien kennen muss, mache ich das so....
Dani
Dani 31.12.2007 um 14:46:54 Uhr
Goto Top
Hi,
also ich würde das Script einfach so schreiben:
@echo off

if "%1" == "-r" shutdown -r -t 25 -c "Der Client wird von BOT neu gestartet!" -f  
if "%1" == "-s" shutdown -s -t 25 -c "Der Client wird von BOT heruntergefahren!" -f  
Wenn kein Parameter gesetzt ist würde ich vllt. noch eine kl. Hilfe ausgeben, damit der Benutzer bescheid weiß. Ansonsten macht mein Script 1:1 das Gleiche!


Gruß
Dani
haufeft
haufeft 31.12.2007 um 15:30:09 Uhr
Goto Top
danke dani


der ist was fürs auge :D:D