对所有文件的复制功能分别执行n-1次,然后对n次执行移动功能

时间:2019-07-01 17:47:08

标签: windows batch-file cmd copy move

对于功课,我做了一批工作,可以将一定数量的特定类型的文件从一个目录(我们将其命名为dir 1)移动到另一个目录(dir 2),并得到了这一出色的帮助现场。 现在,任务得到了增强,我需要找到一种方法来创建将在目录2上使用的批处理,并对授予目录中的所有文件执行复制(目录3、4、5、6。 ..n-1)并在目录n上移动所有文件,以使所有移动的文件不再位于目录1和2中。 我什至不知道如何解决这个问题。尽管我认为这一定是一个相当短且简单的批处理,但它比我们所教的要少得多。 现在,就像在这里向您展示的第一批中一样,该方案应该保持不变: %1是源文件夹 %2是目标文件夹 %3是文件数 %4是过滤器 这是第一批产品,如果有人可以帮助我创建第二批产品,我将非常感激。

@echo off
SETLOCAL EnableDelayedExpansion
set movedFiles=0
if [%4] EQU [] goto regular
:special
for /R  "%1" %%G in (%4) do (
    echo moving "%4"... "%%G"
    move /Y "%%G" "%2"
    set /a movedFiles+="1"
    if !movedFiles! EQU %3 GOTO endOfCopy
)
GOTO endOfCopy
:regular
for /R  "%1" %%G in (*) do (
    echo moving... "%%G"
    move /Y "%%G" "%2"
    set /a movedFiles+="1"
    if !movedFiles! EQU %3 GOTO endOfCopy
)
:endOfCopy
echo Done, %movedFiles% files Where copied successfully
ENDLOCAL

0 个答案:

没有答案