4

我的批处理文件中有以下代码

@ECHO OFF
SET /P NAME=Enter name:
SET /P GENDER = Enter age:
SET /P AGE = Enter gender:
python test.py %NAME% %GENDER% %AGE%
PAUSE

这是 test.py 中的代码

import sys

print len(sys.argv)

for arg in sys.argv:
    print arg

这是输出

Enter name:Dodo
Enter age:1
Enter DB gender:M
2
test.py
Dodo
Press any key to continue . . .

我正在使用python2.5。我如何传递年龄和性别?我对 python 和批处理编程都很陌生,所以对我来说放轻松:)

4

2 回答 2

5

您不能在=in周围使用空格set

SET /P NAME=Enter name:
SET /P GENDER=Enter age:
SET /P AGE=Enter gender:

否则你会得到一个以空格结尾的变量,你必须像%GENDER %.

于 2012-06-27T06:48:18.650 回答
1

尝试用引号括起来。你还有一个等号空格,不确定这是否是批处理的问题......

空格:

SET /P GENDER = Enter age:
SET /P AGE = Enter gender:

没有:

SET /P NAME=Enter name:
于 2012-06-27T06:46:20.627 回答