【问题标题】:.Bat Duplicate file X times?.Bat 重复文件 X 次?
【发布时间】:2020-02-18 13:33:39
【问题描述】:
我需要一个批处理来复制指定次数的文件。
目前我反复复制粘贴以增加一个文件。
我已经在互联网上搜索了.bat 代码,它可以做到这一点。
没有运气;我不是程序员。
希望像拖放这样简单的东西。在不大量使用 CMD 的情况下设置 .BAT 本身所需的副本数。
如果可能的话,我需要一些简单的东西来复制指定次数的文件。
【问题讨论】:
-
我们希望每个问题都有一个特定的问题,并且该问题需要充分解释和显示该问题的代码的minimal reproducible example。请提供您用于将文件复制指定次数的代码,以及足够的支持信息,以便我们复制该问题并为您提供帮助。
-
如果没有代码,您的问题与 StackOverflow 无关,因为我们无法修复不存在的问题。因此,我建议您删除此问题并将其发布到更合适的网站上,也许是Super User。
标签:
file
batch-file
duplicates
【解决方案1】:
既然您在评论中更好地解释了您的要求,这似乎就是您所需要的。
@echo off
set /p num=Enter number of times you want to copy file:
for %%a in (*) do if not "%%~fa"=="%~0" (
set "fname=%%~a"
set "name=%%~na"
set "ext=%%~xa"
)
for /l %%i in (1,1,%num%) do copy "%fname%" "%name%%%i%ext%"
pause
if not "%%~fa"=="%~0" 只是为了确保我们不会对批处理文件本身进行相同的复制。
比输入的文件少 1 个:
@echo off
set /p num=Enter number of times you want to copy file:
set /a num+=1
for %%a in (*) do if not "%%~fa"=="%~0" (
set "fname=%%~a"
set "name=%%~na"
set "ext=%%~xa"
)
for /l %%i in (1,1,%num%) do copy "%fname%" "%name%%%i%ext%"
pause
或删除原始文件:
@echo off
set /p num=Enter number of times you want to copy file:
for %%a in (*) do if not "%%~fa"=="%~0" (
set "fname=%%~a"
set "name=%%~na"
set "ext=%%~xa"
)
for /l %%i in (1,1,%num%) do copy "%fname%" "%name%%%i%ext%"
del "%fname%" /Q
pause