Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 写入批处理文件以重复复制文件_Loops_Batch File_Copy_Repeat - Fatal编程技术网

Loops 写入批处理文件以重复复制文件

Loops 写入批处理文件以重复复制文件,loops,batch-file,copy,repeat,Loops,Batch File,Copy,Repeat,我正在尝试创建一个批处理/脚本文件,该文件将重复地从一个位置复制到另一个位置。我不在乎它是否覆盖了文件,或者如果文件存在,它是否不复制。但是我想要一个批处理文件,它在循环中复制一个文件 如何制作批处理文件以重复复制文件? loop: copy /y a.txt c:/b.txt Goto loop 它只运行一次 让我惊讶的是,人们在没有改进我的问题的情况下否决了一个问题,却感觉很好。我的观点是,人们在投票回答他们不知道答案的问题时感觉很好 batch.bat: rere: copy /y c:

我正在尝试创建一个批处理/脚本文件,该文件将重复地从一个位置复制到另一个位置。我不在乎它是否覆盖了文件,或者如果文件存在,它是否不复制。但是我想要一个批处理文件,它在循环中复制一个文件


如何制作批处理文件以重复复制文件?

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时输出


就是这样。请参见
goto/?
copy/?

面条实现的微小变化(不公平地被否决):


注意面条的代码是有效的;正确复制上一条指令时必须小心。

rere出现错误的原因是您应该将
goto-rere
更改为
goto:rere
。阅读它解释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

这就是如何在循环中复制文件而不过度写入目标文件。 此批处理脚本在目标文件夹中创建具有唯一名称的文件,如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

您是否需要在指定的时间间隔内执行复制操作,或者您确实希望复制操作以尽可能快的速度连续进行?你说的“我不在乎……如果文件存在,它就不会复制”是什么意思?我希望它能尽快复制。但与此同时,我想知道这是否会使窗户崩溃?复制有3种选择:1)复制并替换2)如果存在则不复制3)复制并将副本重命名为文件名(复制#)我不在乎它是否执行前2…你的问题是什么?我如何制作一个批处理文件来重复复制一个文件?有很多方法,可能太多了;有语言偏好吗?站台?对您可以使用什么的限制?“loop:”不能识别为内部或外部命令、可操作程序或批处理文件。它不是
loop
它的
:loop
请参见
转到/?
。您在批处理文件中使用它。。。看cmd怎么说。我复制并粘贴了你的代码。请看我的帖子,我添加了一张错误消息的照片以及我使用的代码。您的图片中没有我帖子中的任何内容。转到和标签(以冒号开头的字符串)需要在批处理文件中。请看我的帖子,我添加了一张错误消息的照片以及我使用的代码。看起来您只是在复制和粘贴到控制台。那是行不通的。您需要将所有代码复制到一个文本文件中,例如copyinf.bat,然后从控制台运行copyinf.bat。不,先生,您搞错了。我知道如何制作批处理文件。我需要关于如何使用命令使其工作的帮助。看到那个代码块了吗?是的,这就是我的产品
@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
@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