标题: [文本处理] 批处理中的用户名user为何输不出来? [打印本页]
作者: zyb159357 时间: 2013-3-2 11:26 标题: 批处理中的用户名user为何输不出来?
请问下面批处理代码怎么用户名user输不出来?该如何改进解决?
现运行后:
用户名:
密码:bbbb- @echo off
- setlocal EnableDelayedExpansion
- set v=1
- for /f %%i in (a.txt) do (
- if !v!==1 (
- set user=%%i
- set v=2
- )else set pass=%%i
- )
- @echo 用户名:!user!
- @echo 密码:!pass!
- pause
复制代码
a.txt内容:
aaaa
bbbb
作者: weichenxiehou 时间: 2013-3-2 12:29
- @echo off
- (set/p user=
- set/p pass=
- )<a.txt
- echo,user:%user%
- echo,password:%pass%
复制代码
作者: zyb159357 时间: 2013-3-2 12:55
先谢谢2楼。但我的主要目的是想知道上面的用户名为什么没有输出来,这例子我是用于调试用的。
最原代码是这个:
@echo off
setlocal EnableDelayedExpansion
rem get username and password from temp file as %1 注:本批处理是服务器脚本,%1是从客户rem 端中得到用户名和密码
set v=1
for /f %%i in (%1) do (
if !v!==1 (
set user=%%i
set v=2
)else set pass=%%i
)
作者: weichenxiehou 时间: 2013-3-2 14:44
回复 3# zyb159357
把set v=1和set v=2后面多余的空格去掉……最好是写成set "v=1"和set "v=2"
作者: zyb159357 时间: 2013-3-2 15:05
晕,终于找到问题了,set v=1的1后面多了个空格。 反思:看来写批处理还不能随便用写字板/记事本来写,得用写程序专业些的工具。
作者: zyb159357 时间: 2013-3-2 15:21
谢谢三楼的大师,我找了半天刚才也出问题和你所说的一样一样的。再次感谢~
作者: BAT-VBS 时间: 2013-3-2 16:06
回复 6# zyb159357
问题解决后,请编辑顶楼帖子在标题前面注明[已解决],并给回答者加分。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |