标题: [文件操作] 求助批处理多线程 xcopy的等待问题 [打印本页]
作者: sonewboy 时间: 2023-11-4 13:24 标题: 求助批处理多线程 xcopy的等待问题
从坛内大神得到多进程xcopy代码如下:- @echo off&&setlocal enabledelayedexpansion
- set m=10
- for /f "delims=" %%g in (list.txt) do (
- start "" %%g
- set /a m-=1
- if !m!==0 ping /n 5 127.1>nul&&set m=10
- )
- )
复制代码
list.txt 里是 很多行 xcopy C:\a\*** D:\b\ /d /e /y
但是每个xcopy需要运行的时间不同,经常出现10个进程还没有完成就被强制结束,
想实现计算当前运行的cmd窗口个数,当cmd个数为0时才运行下一批次,
请问怎样取得当前运行的cmd窗口个数?
作者: 523066680 时间: 2023-11-4 13:34
买个固态硬盘 直接单进程复制 √
普通硬盘,命令行多线程复制 ×
作者: 77七 时间: 2023-11-4 15:48
本帖最后由 77七 于 2023-11-4 16:02 编辑
- @echo off&&setlocal enabledelayedexpansion
- set m=10
- for /f "delims=" %%g in (list.txt) do (
- start "mark" %%g
- set /a m-=1
- if !m! equ 0 (
- set m=10
- call :1
- )
- )
- pause & exit
-
- :1
- for /f %%a in ('tasklist /fi "WINDOWTITLE eq mark" ^|find /c "cmd.exe"') do (
- if %%a equ 0 (
- exit /b
- ) else (
- timeout 2 >nul
- goto :1
- )
- )
复制代码
作者: ShowCode 时间: 2023-11-4 16:38
回复 1# sonewboy
建议放弃xcopy,改用默认多线程的robocopy,参考:
http://bbs.bathome.net/thread-6283-1-1.html#pid40646
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |