문제

따라서 확장자가없는 파일이 많이 있습니다. Windows 배치 스크립트를 작성하고 싶습니다.

  1. 확장자가없는 파일 찾기 (지정된 폴더에서)
  2. 파일 이름 끝에 .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"
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top