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


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.