Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.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
Batch file 使用批处理脚本将特定文件从源目录复制到目标目录和子目录_Batch File_Robocopy - Fatal编程技术网

Batch file 使用批处理脚本将特定文件从源目录复制到目标目录和子目录

Batch file 使用批处理脚本将特定文件从源目录复制到目标目录和子目录,batch-file,robocopy,Batch File,Robocopy,我想将特定文件复制到目标目录结构,即所有文件夹和子文件夹以及子文件夹。基本上是一个目录树 我试着使用机器人技术,但它只能选择污染源而不能污染目标 这就是我迄今为止用robocopy和simple batch所做的尝试 :: copies to only one target directory robocopy "%SOURCE_FILE_DIR_PATH%" "%TARGET_ROOT_FOLDER_PATH%" %FILE_NAME% :: copies to only 1 sub-leve

我想将特定文件复制到目标目录结构,即所有文件夹和子文件夹以及子文件夹。基本上是一个目录树

我试着使用机器人技术,但它只能选择污染源而不能污染目标

这就是我迄今为止用robocopy和simple batch所做的尝试

:: copies to only one target directory
robocopy "%SOURCE_FILE_DIR_PATH%" "%TARGET_ROOT_FOLDER_PATH%" %FILE_NAME%
:: copies to only 1 sub-level
for /f "delims=" %%a in ('dir /b "%TARGET_ROOT_FOLDER_PATH%"') do (
    for /f "delims=" %%b in ('dir /b "%TARGET_ROOT_FOLDER_PATH%\%%a"') 
    do (
        copy /y "%FILE_NAME%" "%TARGET_ROOT_FOLDER_PATH%\%%a\%%b"    
    )
)

您可以组合
/D
/R
选项来迭代目录树。所以我想这对你会有用的

set "TARGET_ROOT_FOLDER_PATH=C:\folder\subfolder"
set "FILE_NAME=foo.txt"
FOR /D /R "%TARGET_ROOT_FOLDER_PATH%" %%G IN (*) DO COPY /y "%FILE_NAME%" "%%G"
您可以稍微修改代码,以使用
DIR
命令的
/AD
/S
选项

for /f "delims=" %%G in ('dir /ad /b /s "%TARGET_ROOT_FOLDER_PATH%"') do copy  "%FILE_NAME%" "%%G"

您可以组合
/D
/R
选项来迭代目录树。所以我想这对你会有用的

set "TARGET_ROOT_FOLDER_PATH=C:\folder\subfolder"
set "FILE_NAME=foo.txt"
FOR /D /R "%TARGET_ROOT_FOLDER_PATH%" %%G IN (*) DO COPY /y "%FILE_NAME%" "%%G"
您可以稍微修改代码,以使用
DIR
命令的
/AD
/S
选项

for /f "delims=" %%G in ('dir /ad /b /s "%TARGET_ROOT_FOLDER_PATH%"') do copy  "%FILE_NAME%" "%%G"

请举例说明使用
RoboCopy
及其
/Lev
选项的问题所在。@Compo,我认为OP试图将单个文件分散到目录树上。我不认为robocopy可以做到这点。@Compo正如jwdonahue所说,robocopy和/Lev的问题在于级别是源代码而不是目标代码。我需要为target定义它。请举例说明使用带有
/Lev
选项的
RoboCopy
有什么问题。@Compo,我认为OP试图将单个文件分散到目录树上。我不认为robocopy可以做到这点。@Compo正如jwdonahue所说,robocopy和/Lev的问题在于级别是源代码而不是目标代码。我需要为target定义它。