명령 행에서 텍스트 파일을 조작 하시겠습니까?


0

이 명령으로

dir "directory" / s / b> c: \ file.txt

주어진 디렉토리의 모든 파일을 형식이 지정된 텍스트 파일로 저장합니다.

C:\Full Name

그러나 동일한 확장자 (.wav)를 가진 파일을 나열 하고이 형식으로 저장하는 방법은 무엇입니까?

?C:\Full Name.wav

물론 가능하다면.


1
"디렉토리"디렉토리 / b / s는 확장자를 가진 파일 이름을 제공해야합니다. 특정 확장자와 일치하는 파일 만 나열하겠습니까?
Dhiwakar Ravikumar

답변:


2

디렉토리 구문 오류

다음 명령을 사용하고 있습니다.

dir "directory" / s / b> c: \ file.txt

당신은 사이에 공백이없는 부분 (A)의 파일 이름을 그렇게 c: \ file.txt해야한다 c:\file.txt.

filename공백 이 포함 된 경우 인용해야합니다 (예 :) "c:\filename with space.txt".

필수는 아니지만 명령 옵션을 지정하는 space이후 가없는 것이 일반적 /입니다. 따라서 명령은 다음과 같아야합니다.

dir "directory" /s /b > c:\file.txt

파일 목록 ( .wav)을 가져 와서이 형식으로 저장하려면 어떻게합니까?

?C:\Full Name.wav

다음 명령을 사용하십시오.

dir "directory\*.wav" /s /b >> c:\file.txt

?예를 들어 이름 앞에 접두사를 붙이 려면 다음 명령을 사용하십시오.

for /f "usebackq tokens=*" %a in (`dir /b /s "directory\*.wav"')  do echo ?%a >> c:\file.txt

노트:

  • 배치 파일에서 이전 명령을 사용하려면 각각을 %로 바꾸십시오 %%.
  • 에서 for /f명령을 사용 >> c:\file.txt하는 대신 > c:\file.txt대신 루프를 통해 출력마다 덮어으로 추가한다.

추가 자료


답변 해 주셔서 감사합니다. 그러나 C : \ file.txt에 루프의 마지막 줄만 남기고 데이터를 덮어 씁니다. 이 문제를 해결하는 방법?
Caitano Oliveira

@CaitanoOliveira 답변 사용시 데이터 덮어 쓰기를 방지하기 위해 업데이트 됨for /f
DavidPostill

고맙습니다. 거의 모든 것이 잘 작동합니다. 이제 긴 파일 이름에 문제가 있습니다. C:\Program Files (x86)\Mid\FileTest.exe출력은 C:\Program어떻게 해결합니까?
Caitano Oliveira

@CaitanoOliveira for /f답변은 공백이 포함 된 파일 / 디렉토리 이름으로 작동하도록 업데이트되었습니다
DavidPostill

그것은 모두 여기에서 효과가 있었고, 나는 내게 준 정보에 대해 감사합니다.
Caitano Oliveira

1

(c : 드라이브에 저장하려면 관리자로 'cmd'를 실행해야 할 것입니다)

DIR [drive:][path][*.wav] /s/b >c:\file.txt
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.