我正在尝试制作批处理/脚本文件,该文件将重复将文件从一个位置复制到另一个位置。我不在乎它是否覆盖文件,或者如果文件存在则不会复制。但是我想要一个在循环中复制文件的批处理文件。
如何制作批处理文件以重复复制文件?
loop:
copy /y a.txt c:/b.txt
Goto loop
它运行一次
让我感到惊讶的是,如果不对我的问题进行改进,人们会对一个问题进行投票。我认为人们对他们不知道答案的问题表示不错。
batch.bat:
rere:
copy /y c:\folder1\abc.txt c:\folder2\abc.txt
pause
goto rere
:loop
copy file1 file2
Goto loop
是如何。见goto /?
和copy /?
。
rere造成错误的原因是因为你应该将goto rere
改为goto :rere
。阅读This它解释了goto:eof本质上是一个循环。
另请检查此代码
@echo on
:loop
setLocal EnableDelayedExpansion
set source="%UserProfile%\Desktop\source\"
set target="%UserProfile%\Desktop\destination\
for /f "tokens=*" %%a in ('dir %source%\*.* /b /s') do (
set B=%%a
set C=!B:\=%random%!
set D=!C:~3,88!
copy "%%a" %target%\"!D!"
)
goto :loop
它一遍又一遍地复制相同的文件,每次在循环中更改文件名。尝试一下,给我一些反馈,我想稍微改进一下。这是一个非常可怕的小脚本XD
Noodle实施的一个小变化(不公平地投票):
@echo off
:loop
copy file1 file2
rem The 'timeout' line will wait for 1 sec between copy attempts
rem Remove the 'rem ' statement from the line to use this feature
rem timeout 1 > nul
goto loop
请注意Noodle的代码有效;你必须小心正确地复制最后一条指令。
这是您在循环中复制文件而不会覆盖目标文件的方式。此批处理脚本在目标文件夹中创建具有唯一名称的文件,如file1.txt,file2.txt等。
@echo off
SET i=1
:loop
SET /A i=i+1
echo %i%
copy c:\test\abc.txt c:\test\file%i%.txt
Goto loop