复制子文件夹内文件的命令行命令
Command line command to copy a file inside the subfolders
我想使用命令行将一个文件同时复制到一系列文件夹中。
比如我想把E:\HTM.nsf
复制到:
E:\Note\A1\note\data1\
E:\Note\A2\note\data1\
E:\Note\A3\note\data1\
E:\Note\A4\note\data1\
我使用 XCopy:
E:\>xcopy e:\HTM*.*nsf "\notes\A1\note\data1\"
它的作品,但我想同时复制HTM.nsf
给所有用户(A1到A4)。
尝试创建一个像这样的批处理脚本 copyfiles.cmd
:
@echo off
setlocal enabledelayedexpansion
if "%1"=="/restart" goto restart
for /d %%a in (
"E:\Note\A*"
) do (call %0 /restart %%~fa\note\data1)
goto end
:restart
shift
set targetPath="%1"
echo processing %targetPath% ...
copy e:\HTM*.*nsf %targetPath% /B/Y
exit /b
:end
exit
备注:
- 路径需要拆分,不能在路径中间使用通配符
*
- 通过在循环中使用
E:\Note\A*
路径,找到A1、A2、A3等,路径的其余部分被追加,即表达式%%~fa\note\data1
用于完成路径(其中 %%~fa
是找到的路径之一的占位符 - 例如 E:\Note\A1
)
- 此脚本自行启动,复制命令出现在标签
:restart
和 returns 到 for 循环中,使用 exit /b
我想使用命令行将一个文件同时复制到一系列文件夹中。
比如我想把E:\HTM.nsf
复制到:
E:\Note\A1\note\data1\
E:\Note\A2\note\data1\
E:\Note\A3\note\data1\
E:\Note\A4\note\data1\
我使用 XCopy:
E:\>xcopy e:\HTM*.*nsf "\notes\A1\note\data1\"
它的作品,但我想同时复制HTM.nsf
给所有用户(A1到A4)。
尝试创建一个像这样的批处理脚本 copyfiles.cmd
:
@echo off
setlocal enabledelayedexpansion
if "%1"=="/restart" goto restart
for /d %%a in (
"E:\Note\A*"
) do (call %0 /restart %%~fa\note\data1)
goto end
:restart
shift
set targetPath="%1"
echo processing %targetPath% ...
copy e:\HTM*.*nsf %targetPath% /B/Y
exit /b
:end
exit
备注:
- 路径需要拆分,不能在路径中间使用通配符
*
- 通过在循环中使用
E:\Note\A*
路径,找到A1、A2、A3等,路径的其余部分被追加,即表达式%%~fa\note\data1
用于完成路径(其中%%~fa
是找到的路径之一的占位符 - 例如E:\Note\A1
) - 此脚本自行启动,复制命令出现在标签
:restart
和 returns 到 for 循环中,使用exit /b