我想从bat文件写入txt
@echo off
cd C:\test_folder
set st1=cd newfolder/
set st2=mget xxxx*.csv
set st3=exit 0
echo %st1%> test2.bat
echo %st2%>>test2.bat
echo %st3%>>test2.bat
cd newfolder/
mget xxxx*.csv
并且缺少“退出”字样。
我怎样才能做到这一点?
提前致谢
因为您的结果行是echo exit 0>>test2.bat
-在此处0>>test2.bat
尝试将INPUT(STDIN)重定向echo exit
到文件。这将导致该文件和echo
屏幕上的单词的输出为空。
echo exit 1>>test2.bat
会将STDOUT(“正常”输出)重定向echo exit
到文件(仅是单词exit
)。
甚至更糟的是exit 2
:2
表示ErrorStream,此处为空,因此您的文件将什么都收不到,但STDOUT仍然显示在屏幕上。
每当您的行以数字结尾时,最好使用其他语法:
>>test2.bat echo exit 0
或者
(echo exit 0)>>test2.bat
如果必须写几行,甚至可以一次写完所有行(而不是分别为每个文件打开文件,而是写一行,在再次打开以写下一行之前关闭文件)
>test2.bat (
echo %st1%
echo %st2%
echo %st3%
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句