熟悉WindowsNT DOS命令的高手请进!
我在XP系统下写了一个bat文件,需要获取用户输入的值,部分代码如下:
set /p dBegin=请输入开始时间:
echo %dBegin%
可以显示我输入的值,但是把这个bat文件放在WindowsNT环境下就不好使了,我查了一下NT环境下的set命令,NT环境里好像没有“/p”的指令,所以打开这个bat文件时就没有显示让我输入值的提示,而是直接显示dBegin是off,现在我想在NT环境下获取到用户输入的值,bat文件如何写,请哪位大侠指教!
------解决方案-------------------- nt 环境下set可能没有/p选项。要实现用户输入给变量赋值有2个办法:
1,将所需输入的信息做为批处理的参数一起输入。比如。
test.bat 开始时间
程序中调用 %1就可以了。
2,用input命令(如果有)
貌似还有个工具string。可以在网上找下。
------解决方案-------------------- BatchFile code
@echo off
echo WScript.Echo "set dBegin=" + WScript.StdIn.ReadLine>input.vbs
echo 请输入开始时间:
cscript //nologo input.vbs>input.bat
call input.bat
echo %dBegin%
pause
del input.vbs input.bat
------解决方案-------------------- missing77兄说得很明白了。 echo WScript.Echo "set dBegin=" + WScript.StdIn.ReadLine>input.vbs 生成input.vbs并向其中写入内容 WScript.Echo "set dBegin=" + WScript.StdIn.ReadLine。 代码的意思是输出字符串“set dBegin=从控制台接受到的内容”。 cscript //nologo input.vbs>input.bat 执行刚才生成的input.vbs,并把输出的内容重定向到input.bat,即写到input.bat。这样input.bat的内容就是“set dBegin=从控制台接受到的内容”。用参数 //nologo 是不显示 Logo,否则input.bat也会有 Logo 内容。 call input.bat就完成了变量的赋值了。 探讨 sllss你好: 能把你这个命令详细说明一下吗?“WScript.Echo "set dBegin=" + WScript.StdIn.ReadLine>input.vbs ”和“cscript //nologo input.vbs>input.bat” 是什么意思,还有多了一个input.bat,他是什么,具体代码是什么? 谢谢
------解决方案-------------------- 不怎么懂。只有好好给你顶贴,呵呵。
------解决方案--------------------
我不是高手,正好在看批处理,给你试了一下。 @echo off echo 输入一个回车,输入第二个回车,第三行输入CTRL+Z并回车 type con>test.txt for /f "delims=" %%i in (test.txt) do ( rem 这里就可以看到变量%%i的内容是否正确了 echo %%i rem 在这里插入你想要的应用 ) del test.txt pause 没办法,输入最后一定要按ctrl+z或F6结束,你看看有没有用吧。