我想将此代码写入文件名为final.txt的文件中:
@echo off dir file1.txt > file2.txt
我尝试过这样的事情:
"@echo off dir file1.txt > file2.txt"
但它只写
"@echo off dir file1.txt > "
它不会复制整个命令,也会复制引号。
答案 0 :(得分:2)
有些字符具有特殊含义并被执行而不是回显。 >
就是其中之一。为了回应它们,你必须“逃避”它们(使用另一个特殊字符,即插入符^
)。另外,要在一行中执行两个命令,您必须将它们与&
(另一个特殊字符)分开。最后,为了能够执行最终文件,它的扩展名必须是.bat
或.cmd
。您还需要另一个echo
来回显@echo ...
:
echo @echo off & dir file1.txt ^> file2.txt > final.bat
但是如果你在自己的行上写下每一行,final.bat
会更好阅读:
echo @echo off>final.txt
echo dir file1.txt ^>file2.txt >>final.bat
(>>
用于附加到文件而不是覆盖它)
提到:echo
不是唯一可以使用@
安静的命令。具有相同效果的较短代码:
echo @dir file1.txt^>file2.txt>>final.bat