【发布时间】:2015-02-07 20:50:59
【问题描述】:
我正在编写一个批处理程序来控制我的电影存档(个人使用)。这就是我试图复制文件夹的方法。
:_Kopya
set "TRGT=%~1" & set "KPY-GLN[1]=%~2" & set "KPY-GLN[2]=%~3" & set "KPY-GLN[3]=%~4"
REM Checking user input and defining variables.
for /l %%s in (1,1,3) do (
if DEFINED KPY-GLN[%%s] (
for /f "tokens=1-2 delims=:" %%a in ("!KPY-GLN[%%s]!") do (
call :_Kontrol "%%a" "%%b" "" "" "aaaaa[%%s]" "bbbbb[%%s]" "" ""
if "!TEST!"=="0" goto :EOF
)
)
)
REM Copying folders.
for /l %%s in (1,1,3) do (
if NOT DEFINED bbbbb[%%s] set bbbbb[%%s]=!aaaaa[%%s]!
for /l %%a in (!aaaaa[%%s]!,1,!bbbbb[%%s]!) do (
call :_ReadLine "%MURL%" "%%a" "LINE"
if EXIST "!TRGT!\!LINE:~20!" rd /s /q !TRGT!\!LINE:~20!
robocopy /s /e "!LINE!" "!TRGT!\!LINE:~20!" >NUL 2>&1
)
)
goto :EOF
我就是这样称呼的,
call :_Kopya "C:\" "123:125" "124:130" "125"
这意味着将文件号从123复制到125,从124复制到130和125。
它工作正常,但我想解决一个问题。当我调用此函数时,我显示其复制文件号124 2 次和文件号125 3 次。我该如何解决这个问题?
PS1: %MURL% 它是一个文本文件,包含这些文件的本地地址。类似于M:\Movies\000y.001y\The.Lord.of.the.Rings.The.Return.of.the.King.(2003){0167260}[00087]
PS2: :_ReadLine 它是一个读取特定行并将该行的值添加到LINE 变量的函数。
【问题讨论】:
标签: batch-file cmd copy