Windows 명령 줄을 사용하여 수천 개의 파일 확장자를로 바꾸려면 *****.jpg
어떻게 해야 합니까?
Windows 명령 줄을 사용하여 수천 개의 파일 확장자를로 바꾸려면 *****.jpg
어떻게 해야 합니까?
답변:
당신은 사용할 수 있습니다 ren
(같이 이름 바꾸기 ) :
ren *.XXX *.YYY
물론 적절한 확장을 위해 XXX와 YYY를 전환하십시오. XXX 에서 YYY로 변경 됩니다 . 모든 확장명을 변경하려면 와일드 카드를 다시 사용하십시오.
ren *.* *.YYY
이 작업을 재귀 적으로 수행하는 한 가지 방법은 FOR
명령을 사용하는 것입니다. /R
일치하는 파일에 명령을 재귀 적으로 적용하는 옵션 과 함께 사용할 수 있습니다 . 예를 들면 다음과 같습니다.
for /R %x in (*.txt) do ren "%x" *.renamed
현재 디렉토리에서 시작 .txt
하여 모든 확장을 .renamed
재귀 적으로 변경합니다 .
%x
일치하는 파일 이름을 보유하는 변수입니다.
또한 수천 개의 파일이 있으므로 커서가 다시 깜박이기 시작할 때까지 기다렸다가 작동했음을 나타냅니다.
참고 : 이것은 cmd에서만 작동합니다. Powershell 또는 Bash에서 작동하지 않습니다
ren *.* *.jpg > E:\Log\Cmd\ExtChange\ext.txt
있습니까?
FOR
행동 이름 바꾸기는 때때로 '직관적이지 않은'것입니다. 예를 들어 ...
ren * .THM * .jpg는 THM 파일의 확장자를 .jpg로 바꿉니다. 예 : GEDC003.THM은 GEDC003.jpg입니다.
ren * .THM * b.jpg는 THM 파일의 이름을 * .THMb.jpg로 바꿉니다. 예 : GEDC004.THM은 GEDC004.THMb.jpg가됩니다.
ren * .THM * .b.jpg는 THM 파일의 이름을 * .b.jpg로 바꿉니다. 예 : GEDC005.THM은 GEDC005.b.jpg가됩니다.
참고 : Windows 용 아님
ren-1.0을 사용하는 올바른 형식은 다음과 같습니다.
"ren *.*" "#2.jpg"
에서 man ren
대체 패턴은 포함 된 와일드 카드 색인이있는 다른 파일 이름이며, 각각은 문자 #과 1-9의 숫자로 구성됩니다. 일치하는 파일의 새 이름에서 와일드 카드 색인은 참조와 일치하는 실제 문자로 대체됩니다. 원래 파일 이름의 와일드 카드
과
쉘은 일반적으로 와일드 카드 * 및?를 확장하는데, 이는 ren의 경우 바람직하지 않습니다. 따라서 대부분의 경우 검색 패턴을 따옴표로 묶어야합니다.
man ren
? 문제는 Windows /에 관한 것이었다 cmd
. 그것들은 이제 man
페이지를 제공 합니까? 페이지가 무엇 ren-1.0
이며 어떻게 man
문맥에서 볼 수 있습니까?
여러 파일 확장자의 이름을 바꾸십시오.
당신은 변경하려면 ringtone1.mp3
, ringtone2.mp3
에 ringtone1.wav
,ringtone2.wav
방법은 다음과 같습니다. 명령 프롬프트 (CMD)의 d 드라이브에 있으므로 다음을 사용합니다.
d:\>ren *.* *.wav
이것은 파일 확장자의 예일뿐입니다. WAV, MP3, JPG, GIF, bmp, PDF, DOC, DOCX, TXT와 같은 모든 유형의 파일 확장자를 사용할 수 있습니다. 운영 체제에 따라 다릅니다.
또한 수천 개의 파일이 있으므로 커서가 다시 깜박이기 시작할 때까지 기다렸다가 작동했음을 나타냅니다.
제 경우에는 800+ 파일로 끝나는 디렉토리가 있습니다 .StoredProcedure.sql
( SSMS 로 스크립트되었습니다 ).
위에 게시 된 솔루션이 작동하지 않았습니다. 그러나 나는 이것을 생각해 냈습니다.
( 배치 프로그래밍 에 대한 답변을 기반으로 -파일의 상대 경로 가져 오기 )
@echo off
setlocal enabledelayedexpansion
for %%f in (*) do (
set B=%%f
set B=!B:%CD%\=!
ren "!B!" "!B:.StoredProcedure=!"
)
위 스크립트는 .StoredProcedure
파일 이름 에서 하위 문자열 을 제거합니다 . 더 많은 사례를 다루고 입력을 요청하며 전반적으로 더 일반적으로 적용 할 수 있다고 확신합니다.
set
명령을이 단일 명령으로 바꾸십시오 set "B=%%~nxf"
. ( %%~nxf
인 N AME 전자 의 X 의 장력 %%f
). %cd%
재귀 할 때 유효하지 않을 수 있습니다.
나는 이것이 너무 오래되었다는 것을 알고 있지만 그것에 착륙했으며 제공된 답변이 powershell에서 작동하지 않아 검색 후이 솔루션을 찾았습니다.
Powershell에서
Get-ChildItem -Path C:\Demo -Filter *.txt | Rename-Item -NewName {[System.IO.Path]::ChangeExtension($_.Name, ".old")}
신용은 http://powershell-guru.com/powershell-tip-108-bulk-rename-extensions-of-files/ 로갑니다 .