Bir toplu iş dosyasına nasıl argüman aktarabilirim?

Dosyaya sabit kodlama yapmak yerine, çalıştırma sırasında bir toplu iş dosyasına bir kimlik ve parola aktarmam gerekiyor.

İşte komut satırının nasıl göründüğü:

test.cmd admin P@55w0rd > test-log.txt

Bir başka yararlı ipucu da "all" anlamında %* kullanmaktır. Örneğin:

echo off
set arg1=%1
set arg2=%2
shift
shift
fake-command /u %arg1% /p %arg2% %*

Koşarken:

test-command admin password foo bar

yukarıdaki toplu iş dosyası çalışacaktır:

fake-command /u admin /p password admin password foo bar

Sözdizimi biraz yanlış olabilir, ancak genel fikir budur.

Yorumlar (9)

Eksik parametreleri akıllıca işlemek istiyorsanız şöyle bir şey yapabilirsiniz:

IF %1.==. GOTO No1
IF %2.==. GOTO No2
... do stuff...
GOTO End1

:No1
  ECHO No param 1
GOTO End1
:No2
  ECHO No param 2
GOTO End1

:End1
Yorumlar (4)

Evet, if, for ve benzerlerini kullanırken %%1 gibi değişkenleri kullanmayı unutmayın.

Eğer % çiftini unutursanız, komut satırı argümanlarını (muhtemelen null) yerine koymuş olursunuz ve oldukça kafa karıştırıcı hata mesajları alırsınız.

Yorumlar (5)