0
感謝rojo下面的批處理文件將檢查非法字符,將其替換爲破折號,搜索子目錄並需要位置參數,但是當它運行時,會將您帶到您指定的目錄爭論。我想留在批處理文件運行的驅動器/文件夾中。 (例如:rename.bat C:\測試,這將帶你到C:\測試批處理文件運行後)批處理文件移動到參數中的位置
@@echo off
IF "%~1"=="" goto Continue
pushd %1
setlocal enabledelayedexpansion
for /r %%I in (*) do (
set "file=%%~nxI"
if "!file:~0,1!"=="~" (
set "file=-!file:~1!"
)
for %%d in (# %%) do (
if not "!file!"=="!file:%%d=!" (
set "file=!file:%%d=-!"
)
)
if not "!file!"=="%%~nxI" (
echo %%~fI -^> !file!
ren "%%~fI" "!file!"
)
)
Exit /B
:Continue
@echo You need drive and directory at end or this batch file
我試過添加POPD,但沒有任何影響。 – cwhitmore 2015-02-05 19:56:07
@cwhitmore - 我調整了一下結構,所以'PUSHD'命令在'SETLOCAL'之後。另外,我添加了各自的'ENDLOCAL'。 – 2015-02-05 20:14:38
傑森 - 工作。謝啦。 – cwhitmore 2015-02-06 21:52:43