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-Key: 76928

Url: https://administrator.de/contentid/76928

Printed on: April 19, 2024 at 18:04 o'clock

Member: miniversum
miniversum Dec 31, 2007 at 13:01:27 (UTC)
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
Mitglied: 13100
13100 Dec 31, 2007 at 13:02:53 (UTC)
Goto Top
im batchfile %1 für den ersten parameter benützen,
%2 für den zweiten und soweiter und sofort.
Member: Dani
Dani Dec 31, 2007 at 13:04:02 (UTC)
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
Member: haufeft
haufeft Dec 31, 2007 at 13:38:41 (UTC)
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....
Member: Dani
Dani Dec 31, 2007 at 13:46:54 (UTC)
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
Member: haufeft
haufeft Dec 31, 2007 at 14:30:09 (UTC)
Goto Top
danke dani


der ist was fürs auge :D:D