셸에서 파일 이름 앞에 추가

셸에서 파일 이름 앞에 추가

test.png, example.png 등의 폴더에 100개의 .png 파일이 있습니다.

New_으로 이름이 바뀌도록 앞에 를 추가하고 싶습니다 New_test.png.New_example.png

쉘에서 어떻게 할 수 있습니까?

답변1

운영 체제를 지정하지 않았습니다. 이 답변은 Windows를 가정합니다.

내 첫 번째 생각은 다음과 같은 간단한 명령이었습니다.

for %f in (*.png) do rename "%f" "New_%f"

그러나 이름이 지정된 파일은 a.png먼저 이름이 바뀌었고 New_a.png알파벳 순서로 아래로 이동되었습니다. :-( 루프는 이 파일의 이름을 a로 변경했습니다.두번째New_New_a.png 시간입니다.

따라서 이 작업은 두 단계로 수행되어야 합니다.

dir /b *.png > png.txt
for /F %l in (png.txt) do rename "%l" "New_%l"
del png.txt

첫 번째 줄은 현재 디렉터리에 있는 모든 png 파일의 이름을 포함하는 텍스트 파일을 만듭니다. 두 번째 줄은 파일의 각 줄을 구문 분석하고 png의 이름을 바꿉니다.

관련 정보