확장자가없는 파일을 찾고 바꾸십니까?
-
06-07-2019 - |
문제
따라서 확장자가없는 파일이 많이 있습니다. Windows 배치 스크립트를 작성하고 싶습니다.
- 확장자가없는 파일 찾기 (지정된 폴더에서)
- 파일 이름 끝에 .Bla를 추가하십시오
나는 그런 Windows 배치 스크립트 noob입니다. 어디서부터 시작 해야할지조차 모릅니다. 제안?
해결책
Windows 배치 파일의 경우 .Bla 확장자로 확장되지 않은 파일 만 이름을 바꿉니다.
rename *. *.bla
첫 번째 인수는 별과 점입니다 : *.
두 번째 주장은 다음과 같습니다. *.Bla
START DOT (*.) 조합은이 맥락에서 확장자가없는 파일을 나타냅니다.
전에:
06/21/2009 11:57 PM 6 test
06/21/2009 11:57 PM 7 test.exe
06/21/2009 11:57 PM 7 test2
후에:
06/21/2009 11:57 PM 6 test.bla
06/21/2009 11:57 PM 7 test.exe
06/21/2009 11:57 PM 7 test2.bla
추가 참고 : 반대 명령 선은 모든 .BLA 파일을 확장 파일로 바꾸지 않습니다.
편집하다:
하위 디렉토리에 대한 확장자가없는 파일을 재귀 적으로 이름을 바꾸려면 (경로에서 공간을 지원하지 않음) :
@echo off
FOR /F %%i in ('dir /b/s/A-d') DO (
if "%%~xi" == "" rename "%%~fi" "%%~ni.bla"
)
edit2 :
하위 디렉토리에 대한 확장자가없는 파일을 재귀 적으로 바꾸는 경우 (경로의 공간 지원) :
@echo off
for /f "tokens=* delims= " %%i in ('dir /b/s/A-d') DO (
if "%%~xi" == "" rename "%%~fi" "%%~ni.bla"
)
다른 팁
다음은 확장 프로그램이 재귀 적으로 이름을 바꾸는 데 대한 또 다른 가능한 명령입니다 ( 파일 경로에는 공간이 포함되어 있지 않습니다):
for /f %i in ('dir *. /b /s /a-d') do rename "%~fi" "%~ni.bla"
배치 버전 (두 배로 %
):
@echo off
for /f %%i in ('dir *. /b /s /a-d') do (
rename "%%~fi" "%%~ni.bla"
)
파일 또는 폴더 이름에 공백이 포함 된 경우, 대신이 명령을 사용하십시오.
for /f "tokens=* delims= " %i in ('dir *. /b /s /a-d') do rename "%~fi" "%~ni.bla"
배치 버전 :
@echo off
for /f "tokens=* delims= " %%i in ('dir *. /b /s /a-d') do (
rename "%%~fi" "%%~ni.bla"
)
편집하다: 경로의 공간을 지원하는 짧은 1 라이너가 있습니다.
for /r %i in (*.) do ren "%~fi" "%~ni.bla"
배치 버전 :
@for /r %%i in (*.) do ren "%%~fi" "%%~ni.bla"
하위 디렉터에서이를 수행하려면 다음을 사용하십시오.
for /f %a in ('dir /b /ad /s') do rename %a\*. *.bla
배치 파일로 이것을 사용하는 경우 '%'를 두 배로 늘려야합니다.
for /f %%a in ('dir /b /ad /s') do rename %%a\*. *.bla
편집하다:
디렉토리 이름에 공백이있는 경우 다음을 시도 할 수 있습니다 (배치 버전).
for /f "tokens=* delims= " %%a in ('dir /b /ad /s') do rename "%%a\*." "*.bla"
제휴하지 않습니다 StackOverflow