- @echo off
- set /a tm1=%time:~0,2%*1
- if %tm1% LSS 10 set tm1=0%tm1%
- set filename=%username%%date:~0,4%-%date:~5,2%-%date:~8,2%-%tm1%%time:~3,2%%time:~6,2%
- set timename=%date:~0,4%/%date:~5,2%/%date:~8,2% %tm1%:%time:~3,2%:%time:~6,2%
- set folder=D:\%username%\FCCCache\%username%
- set savefolder=D:\%username%\FCCCache
-
- for /f "delims=""" %%i in ('dir /a-d /b /s %folder%\*.*d* 2^>nul') do (
- for /f "tokens=1,2" %%j in ('dir /a /tc "%%i" ^| findstr "%%~nxi"') do (
- echo %%j %%k##%%~ti##%%~nxi##%computername%##%username%##%timename%>>%savefolder%\%filename%.txt
- ))
- exit
复制代码 代码如上,这个代码的作用是调取指定目录下(D:\%username%\FCCCache\%username%) 所有子目录里面的文件名,因为我只需要调用DWG和PDF格式的文件,所在后辍里面用了*d*这个后辍进行筛选,需要收集文件名,文件的创建和修改时间等一些信息。所以导致FOR的语句有点长。
那么问题来了:这个批处理在部分电脑上有运行过程中停用的问题,电脑问题基本可以排除,@echo off 改成 on可以发现运行时代码运行中可能会停下来,不走了。所以求助高手帮忙看下问题是出在哪个地方,谢谢! |