【问题标题】:Batch to copy a file to a folder and only ONE subfolder deep批量将文件复制到一个文件夹,并且只有一个子文件夹深
【发布时间】:2013-03-01 14:20:50
【问题描述】:
我现在有这个批处理文件,它将 example.jpg 从 C:\Temp 复制到测试文件夹及其所有子文件夹。
我希望它仅将文件复制到测试文件夹中的 1 个子文件夹深处。
例如将图片复制到Test\subfolder,但不复制到Test\subfolder\subfolder2
@echo off
for /r "C:\Temp\Test" %%f in (.) do (
copy "C:\Temp\example.jpg" "%%~ff" > nul
)
PAUSE
【问题讨论】:
标签:
batch-file
copy
cmd
subdirectory
【解决方案1】:
@ECHO OFF
SETLOCAL
SET destroot=c:\temp
FOR /f "delims=" %%i IN ( ' dir /ad/b "%destroot%"' ) DO ECHO COPY "c:\temp\example.jpg" "%destroot%\%%i\"
仅显示批处理建议执行的操作。删除ECHO 关键字以激活复制并添加>nul 以抑制“复制”消息
【解决方案2】:
如果您只想深入 1 级,请不要使用递归。试试这个:
@echo off
set src=C:\Temp\example.jpg
set dst=C:\Temp\Test
copy "%src%" "%dst%" >nul
for /d %%d in ("%dst%\*") do (
copy "%src%" "%%~fd" >nul
)