【问题标题】:.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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-08
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-27
    • 2015-10-21
    • 2017-02-06
    相关资源
    最近更新 更多