回复 8# GNU
这表示可以了吗?
这是在我本本上的截图,明天再到工作电脑上去试试,要是可以的话就OK了
每次换个系统时间不同的电脑就要改一次截取字符是有点麻烦~
在本本上果然可以,不过感觉比纯DOS的命令慢多了,如果后面再接一个将文件夹里文件和子文件夹提取出来的批处理会导致先运行后面那个再运行这个,这样就达不到先将父目录改名避免同名被覆盖的效果了
我现在用的是这个更名批处理,混合了下- set ITEMPATH=%~dpnx1
- if "%ITEMPATH:~-1%"=="\" set ITEMPATH=%ITEMPATH:~0,-1%
- set ITEMDATESTR=
- for %%i in ("%ITEMPATH%") do set ITEMDATESTR=%%~ti
- echo ITEMDATESTR: %ITEMDATESTR%
- set ITEMDATE=%ITEMDATESTR:~0,2%%ITEMDATESTR:~3,2%%ITEMDATESTR:~6,2%
- echo ITEMDATE: %ITEMDATE%
- ren "%ITEMPATH%" "%~n1_%ITEMDATE%%~x1"
复制代码 运行速度很快,接在TC里用TCFS2衔接另一个批处理,延迟1秒就可以正常顺序运行- set ITEMPATH=%~dpnx1
- if "%ITEMPATH:~-1%"=="\" set ITEMPATH=%ITEMPATH:~0,-1%
-
- for /f "usebackq delims=" %%i in (`dir /a /b /s "%ITEMPATH%"`) do (attrib -s -h "%%i")
-
- set TARGETPATH=%~dpnx2
- for /f "usebackq delims=" %%f in (`dir /b "%ITEMPATH%"`) do move "%ITEMPATH%\%%f" "%TARGETPATH%\"
- for /f "usebackq delims=" %%f in (`dir /b /ah "%ITEMPATH%"`) do move "%ITEMPATH%\%%f" "%TARGETPATH%\"
复制代码 现在就是遇到时间设置不同的PC需要改提取字段,还有不支持选定的批量文件/文件夹这个缺陷了吧,可能那就太难了,再次感谢了! |