如何自行复制批处理文件?

时间:2013-11-13 18:32:06

标签: batch-file

它不应该只是一个简单的命令吗?复制0%.BAT FOLDER? 我在一个文件夹中有一个批处理文件,该文件夹位于桌面上的另一个文件夹内(桌面> Temp>活动> test.bat)。在最后的批处理文件中,我添加了这个:

COPY %0.BAT Temp

所以基本上我想复制它以将其自身复制到父文件夹而不运行它。 还有一件事,我如何将批处理文件命令的输出重定向到一个空设备?

3 个答案:

答案 0 :(得分:2)

你想要将批处理文件复制到2个文件夹,对吧?怎么样?

@echo off
copy %0 ..\..\temp >nul

如果要将命令的标准输出重定向到任何地方,请使用> nul。使用@echo off关闭所有输出。

更新以解释%0是什么:

运行批处理文件时,“%0”或“%1”等值是指传递给批处理文件的参数。值%0是批处理文件本身,值%1是传递给批处理文件的第一个参数,%2是第二个参数,等等。例如,如果你有一个文件FOO.BAT包含:

echo 1st arg: '%0'
echo 2nd arg: '%1'
echo 3rd arg: '%2'

如果你跑了:

C:\foo.bat hello world

输出结果为:

1st arg: 'foo.bat'
2nd arg: 'hello'
3rd arg: 'world'

答案 1 :(得分:0)

试试这个:

 copy "%0.bat" ..\>nul

答案 2 :(得分:0)

一点信息:如果一个* .bat文件想要将自己复制到另一个文件夹,可以通过放置代码来实现:copy >nul *.bat ... \ ... \ ... \