|
|
楼主 |
发表于 2023-12-14 16:48:47
|
显示全部楼层
【追加问题1】
就是说我在这个复制命令前做了echo回显,但是我不想让他复制东西的时候清除掉回显,但是还不能滚动显示复制进度。
【追加方案1】
Win10-Win11.bat- @echo off
- REM 设置文件所在的原始目录
- set "OldFolder=C:\Test\测试\From"
- REM 假设把文件复制到以下位置并保持原来的目录结构
- set "NewFolder=C:\Test\测试\To"
- for /f "delims=" %%i in ('dir /b /s /a-d "%OldFolder%" ^| find /v /c ""') do (
- set "FileNum=%%i"
- )
- echo 文件总数: %FileNum%
- echo 当前个数:
- for /f %%i in ('echo prompt $E ^| cmd') do (
- set "KeyESC=%%i"
- )
- set "FileSeq=0"
- for /f "delims=" %%i in ('dir /b /s /a-d "%OldFolder%"') do (
- set /p=%KeyESC%[1A<nul
- set /p=%KeyESC%[11G<nul
- set /a FileSeq+=1
- set "OldFile=%%i"
- set "OldSub=%%~dpi"
- setlocal enabledelayedexpansion
- set "NewSub=!OldSub:%OldFolder%=!"
- echo !FileSeq!
- xcopy /y "!OldFile!" "!NewFolder!!NewSub!" >nul
- endlocal
- )
- pause
复制代码 |
|