我正在尝试创建一个批处理/脚本文件,该文件会反复将文件从一个位置复制到另一个位置。我不在乎它是否覆盖文件,或者如果文件存在则不会复制。但是我想要一个批量文件来复制循环中的文件。
如何制作批处理文件以重复复制文件?
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
双击batch.bat时输出
答案 0 :(得分:2)
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
答案 1 :(得分:1)
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的代码有效;你必须小心正确地复制最后一条指令。
答案 2 :(得分:0)
:loop
copy file1 file2
Goto loop
是怎么回事。请参阅goto /?
和copy /?
。
答案 3 :(得分:0)
这是循环复制文件而不覆盖目标文件的方式。 此批处理脚本在目标文件夹中创建具有唯一名称的文件,例如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