2014-09-03 3 views
1

Я сделал командный файл в Windows. Содержание в этом файле, как этотПараметры передачи в пакетном файле из powershell

test.bat

echo %1 

Теперь, когда я посылаю аргумент из командной строки, как этот

test.bat "hello" 

затем выводит всегда %1. Он должен быть hello.

Что я делаю неправильно?

ответ

2

Возможно, вы используете силовую оболочку. Вы должны использовать в вашем файле летучей мыши:

echo $1 

Здесь Преобразование DOS Batch файлов в сценарии командной оболочки

http://tldp.org/LDP/abs/html/dosbatch.html 
+0

thankx, это то, что я искал. –

2

Это действительно странно - что-то в ваших предположениях о том, что находится в файле, неверно. Вот выход из моего компьютера делает именно то, что вы описали:

C:\windows\system32>copy con test.bat 
echo %1 
^Z 
     1 file(s) copied. 

C:\windows\system32>test.bat hello 

C:\windows\system32>echo hello 
hello 

Я подозреваю, что файл имеет что-то другое в чем то, что вы описали

+0

Я делаю правильно, но я могу получить его, что почему код не работает отлично на мой компьютер. –

+1

Возможно, вы работаете в powershell вместо cmd.exe? – user230910

+0

Разве что все test.bat содержит? – Monacraft

Смежные вопросы