这里可能有些东西可以使用。 copy100.txt
文件是所有主机/ IP地址和要复制的文件名的列表。
C:\Users\pwatson\t\copy100>type copy100.txt
localhost,Users\pwatson\t\bt\file1.txt
localhost,Users\pwatson\t\bt\file2.txt
localhost,Users\pwatson\t\bt\file3.txt
该脚本将每个文件被复制的脚本,写一个脚本来START
他们。
C:\Users\pwatson\t\copy100>type copy100.bat
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET /A BCOUNT=0
SET BASE_FILENAME=%TEMP%\copy100_%RANDOM%
SET DOIT_FILENAME=%BASE_FILENAME%_doit.bat
IF EXIST "%DOIT_FILENAME%" (DEL "%DOIT_FILENAME%")
SET TARGET_DIR=.
ECHO>>"%DOIT_FILENAME%" @ECHO OFF
ECHO>>"%DOIT_FILENAME%" (
FOR /F "usebackq tokens=1,2 delims=," %%h IN (`TYPE copy100.txt`) DO (
SET BATNAME=%BASE_FILENAME%_!BCOUNT!.bat
IF EXIST "!BATNAME!" (DEL "!BATNAME!")
ECHO>>"!BATNAME!" @ECHO OFF
ECHO>>"!BATNAME!" COPY "\\%%h\C$\%%i" "%TARGET_DIR%"
ECHO>>"!BATNAME!" EXIT
ECHO>>"%DOIT_FILENAME%" START "Copy from %%h" /MIN "!BATNAME!"
SET /A BCOUNT=!BCOUNT!+1
)
ECHO>>"%DOIT_FILENAME%") ^| SET /P "="
ECHO>>"%DOIT_FILENAME%" EXIT
(
START "copy100 doit.bat" /MIN "%DOIT_FILENAME%"
) | SET /P "="
IF EXIST "%DOIT_FILENAME%" (DEL "%DOIT_FILENAME%")
IF EXIST "%BASE_FILENAME%*" (DEL "%BASE_FILENAME%*")
ECHO /B
来源
2015-11-07 21:49:08
lit
你不能在同一时间从100个位置执行复制,直到你的硬件能够做到这一点。 –
服务器有一个高规格&肯定可以做到这一点...但这里是一个程序的问题....就像如果我创建了100个批处理文件,并在某些时候运行它们通过一个vb.net工具,谈判到这些批次文件...它会有帮助吗? – Omran
你可以很容易地尝试一个cmd脚本(.bat文件),该脚本在100个命令上启动了'START'。作业调度程序可能会做你想做的事。 https://sourceforge.net/projects/jobscheduler/ – lit