关于批处理for读取文件内容

我想读一个1.txt的文件内容,我想把读出来的文件输出到一个新的txt中。
@echo off
for /f "tokens=1 delims=," %%i in(1.txt) do (echo "%%i">>123.txt)
pause

这样写错在什么地方?
txt的内容如:
abc,edf,1233,eee
rer,wer,4232,rrr

首先,你的delims取值和文本中不一样哦。

你的文本里面是中文标点","

delims里面取值是英文标点","

取值有误就不会被分割。改1.txt里的逗号改成英文,或者把你语句里的逗号改中文


然后,不太肯定你应不应该把输出重定向放在括号内。

我觉得括号内不应该有>>1.txt

所以这样改:

@echo off
SETLOCAL ENABLEEXTENSIONS
FOR /F "usebackq tokens=1 delims=, " %%i IN (1.txt) DO @echo %%i  1>>123.txt

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-10-08
do后面那个echo %%i不要用引号扩起来。for语句正确的写法是for /f “tokens=1 delims=,” %%i in (1.txt) do echo %%i>>123.txt
第2个回答  推荐于2016-06-05
@echo off
for /f "delims=" %%i in (1.txt) do >>123.txt echo %%i
pause

追问

没什么作用,看不到新生成得文件。

追答

不可能没作用的,你肯定没按我的代码写。

本回答被提问者和网友采纳
相似回答