이 배치 파일을 하위 폴더를 포함하도록 향상시킬 수 있습니까?


2

.bat 파일에 다음 행이 있습니다.

@echo off
pushd %*
for %%j in (*) do type nul > "%%j"
popd

그것을 실행하면 배치 파일을 포함하여 모든 파일의 크기가 0으로 변경됩니다. CMD에서 사용하는 경우 폴더 이름을 다음과 같이 지정할 수 있습니다. makeitzero.bat FOLDER_NAME

하지만 프로그래밍에 대해서는 조금 알고 있으므로 하위 폴더도 포함시킬 수 있을지 궁금합니다 (명령 줄에서 실행하거나 명령 줄에서 실행하는 경우)?

감사!


참고 : 저는이 사이트의 새로운 사용자입니다. 제대로 사용하는 방법이 확실하지 않으므로 실수 (잘못된 제목, 잘못된 태그, 관련없는 정보 등)를 작성하면 기꺼이 그것을 듣고, 다음에 더 잘 할 수 있습니다.


1 편집 : for /r 트릭을 했어. 이것은 매력처럼 작동합니다.

@echo off
for /r "D:\DeleteInThis" %%a in (.) do (
    pushd %%a
    pushd %*
    for %%j in (*) do type nul > "%%j"
    popd
    )

감사!

답변:


2

FOR 여러 가지가있다. 모드 스위치 명령을 다양한 방법으로 작동하게합니다. 체크 아웃해야합니다. FOR /F 이 명령을 사용하면 명령의 출력을 반복 할 수 있습니다. 용도 DIR 명령 모든 하위 디렉토리에있는 파일과 디렉토리를 나열합니다. 사용 /S 모든 하위 디렉토리를 포함하도록 전환 /B 일반 출력 (파일 및 폴더의 전체 경로 이름)을 갖습니다.

dir /s /b ".\*"

출력을 결합하려면 DIR 루프를 사용하여 FOR 명령을 다음과 같이 수정하십시오.

for /f "tokens=*" %%j in ('dir /s /b ".\*"') do type nul > "%%j"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.