Board logo

标题: [求助]set /p 多出2個字符,求解 [打印本页]

作者: Lying     时间: 2010-9-25 15:18    标题: [求助]set /p 多出2個字符,求解

set /p Code=Please scan Code:
echo %code% >my.txt

當我輸入123后,發現my.txt中換行了,且多出2字符,實在不知怎么回事,請各位大俠指點一二,能否避開多出的字符,謝謝
作者: qinchun36     时间: 2010-9-25 18:25
echo 本身就会多输出一个换行,而且你 %code% 和 > 还多了个空格。
用这个试试:

set /p Code=Please scan Code:
>my.txt set/p=%code%<nul
作者: 523066680     时间: 2010-9-27 18:50
不带转行,以前学到的一个用法

@echo off
set /p Code=Please scan Code:
set /p output=%code%>my.txt<nul

这样也是可以的,应该是先被<NUL 然后set/p的输出被导向my.txt了吧:
set /p output=%code%<nul>my.txt

回头一看,跟楼上重复了,那就将就骗积分哈哈

[ Last edited by 523066680 on 2010-9-27 at 18:54 ]
作者: acaigg     时间: 2011-1-19 21:46
学习一下
作者: modestleaner     时间: 2011-1-23 20:49
奇怪了,我用的是xp的系统在cmd下
输入楼主的代码没有换行和其他的情况的啊,就是去掉了个空格
作者: zaixinxiangnian     时间: 2011-1-24 00:42
本人复制代码也没有出现楼主的情况啊
作者: glodboy     时间: 2011-1-24 12:00
LZ,应该是在批处理环境下使用的。
我刚刚用批处理试了的确会输出两个空格。
用3楼的代码试了下,没用空格。