本帖最后由 fantasy_07 于 2021-7-19 21:09 编辑
- @echo off & setlocal enabledelayedexpansion
- (for /f "delims=" %%i in ('dir F:\bapdffile /s /b /a-d') do (
- set /p =%%i,<nul %文件路径,英文逗号做分隔符,sql server可以识别%
- set /p =%%~nxi,<nul %文件名+扩展名%
- set /p =%%~zi,<nul %文件大小%
- set /p =%%~ti:00.000,<nul %文件修改日期%
- echo !date:~0,10! !time!0
- )
- )>"E:\import\拷贝病历\3.txt"
复制代码 这个文件夹下,一共有46w个文件
这个批处理执行的时候,为什么要等好久啊
比如1点钟点了执行,结果2点钟才开始输出数据,19分钟执行完,但是前面等待了1小时
把dir的目录另存到txt,然后执行for /f,快了好多。执行完只需要4-5分钟- @echo off & setlocal enabledelayedexpansion
- dir F:\bapdffile /s /b /a-d-h >E:\import\拷贝病历\dir.txt
-
- (for /f %%i in (E:\import\拷贝病历\dir.txt) do (
- echo %%i,%%~nxi,%%~zi,%%~ti:00.000,!date:~0,10! !time!0
- )
- )>"E:\import\拷贝病历\1.txt"
复制代码
|