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
@cwhitmore - 구조체를 약간 조정하여'PUSHD' 명령이'SETLOCAL' 이후에 나옵니다. 또한 각각의 'ENDLOCAL'을 추가했습니다. –
Jason - 근무했습니다. 고마워. – cwhitmore