파일의 대량 이름 바꾸기를 위해 와일드 카드 문자열의 일부로 공백을 지정하는 방법


4

파일 이름이 다음과 같이 구성된 폴더에 약 1200 개의 노래가 있습니다.

artist_name-song_name.mp3

예를 들면 다음과 같습니다.

Billy Joel - Piano Man.mp3
The Beatles - Nowhere Man.mp3

하이픈 양쪽의 공간을 제거하기 위해 Windows PowerShell에서 DOS 명령을 사용하여 이러한 파일의 대량 이름을 바꾸고 싶습니다. 그러나 모든 공백을 제거하고 싶지 않습니다. 기본 문제는 디렉토리의 모든 파일에서 "-"를 "-"로 변경하기 위해 파일 이름 스펙에 공백을 포함시킬 수 있다는 것입니다. 변경하고 싶은 몇 가지 예는 다음과 같습니다.

기존 파일 이름

Billy Joel - Piano Man.mp3
The Beatles - Nowhere Man.mp3

원하는 파일 이름

Billy Joel-Piano Man.mp3
The Beatles-Nowhere Man.mp3

누군가 디렉토리의 모든 파일을 변경하기 위해 명령 프롬프트에서 실행될 수있는 DOS 명령을 생각할 수 있습니까?

DIR 명령으로 그러한 모든 파일을 나열하려면 다음을 사용할 수 있음을 발견했습니다.

DIR asterisk+doublequote+space+hyphen+space+doublequote+asterisk+dot+asterisk

실제 구문이이 포럼에서 형식 지정 지침으로 취급되는 것처럼 보이기 때문에 그렇게 작성해야했습니다.

여기에는 3 문자 문자열의 공백 하이픈 공간이있는 모든 파일이 나열됩니다.

분명히 방법이 있어야합니다.

답변:


2

이 명령을 실행할 수 있습니다 :

ls | %{ ren $_ ($_.name -replace ' - ','-') }

Powershell을 사용합니다. 이로 대체 {space}-{space}됩니다 -.


내 문제를 해결하는 데 단 8 분 밖에 걸리지 않았습니다!
Ed S.

고마워요, 조노, 완벽하게 작동했습니다. 당신의 친절에 감사드립니다. 좋은 주말 보내세요!
Ed S.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.