在包含不同字符的文件中编写整个cmd命令,例如“>”或“>>”

时间:2015-08-06 11:44:41

标签: cmd

我想将此代码写入文件名为final.txt的文件中:

 @echo off dir file1.txt > file2.txt 

我尝试过这样的事情:

"@echo off dir file1.txt > file2.txt" 

但它只写

"@echo off dir file1.txt > "

它不会复制整个命令,也会复制引号。

1 个答案:

答案 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