이 폴더의 하위 디렉터리에 있는 모든 아카이브를 어떻게 추출합니까?

이 폴더의 하위 디렉터리에 있는 모든 아카이브를 어떻게 추출합니까?

이 제목을 조사한 결과 다음 CMD 파일에 대한 답변이 제공되었습니다.

FOR /D /r %%F in ("*") DO (
    pushd %CD%
    cd %%F
           FOR %%X in (*.rar *.zip) DO (
        "C:\Program Files\7-zip\7z.exe" x %%X
           )
    popd
)

cmd 파일은 어느 정도까지 훌륭하게 작동합니다. 단, "ZIP" 확장자를 가진 모든 파일에 대해 다음 메시지를 표시하고 묻습니다.

Would you like to replace the existing file:
Path xxxxxx
Size xxxx
Modified: XXXXXXX
with the file from the archive:
Path: xxxx
Size: xxxxx
? Y<es> \ N<o> \ A<lways> \ S<kip all> \A<u>to rename all \ <Q>uit 

여기서는 입력을 기다리는 것이 중지됩니다. 하지만 파일의 압축이 풀릴 때마다 묻습니다. 위의 명령 파일 ?을 찾은 다음 "Y"를 출력한 후 종료되는 응답 cmd 파일을 호출하여 다음 파일을 처리하기 위해 원래 명령 파일로 돌아가는 것으로 수정하려고 했습니다. "zip"을 찾았습니다.

내가 올바른 길을 가고 있는지는 모르겠지만 도움을 주시면 감사하겠습니다. 어떤 프로그램이 및 텍스트를 출력하는지 모르겠습니다 ?. Windows 7입니까, 아니면 7-zip입니까?

답변1

어떤 프로그램이 "?"를 출력하는지 모르겠습니다. 그리고 텍스트

그것은 7z.exe.

사용할 올바른 스위치는 -aoa(메시지 없이 기존 파일을 모두 덮어쓰기)입니다.

예:

"C:\Program Files\7-zip\7z.exe" x %%X -aoa

-ao(덮어쓰기 모드) 스위치

디스크에 이미 존재하는 파일을 덮어쓰도록 추출하는 동안 덮어쓰기 모드를 지정합니다.

Syntax

-ao[a | s | t | u ]

Switch    Description
-aoa  Overwrite All existing files without prompt.
-aos  Skip extracting of existing files.
-aou  aUto rename extracting file (for example, name.txt will be renamed to name_1.txt).
-aot  auto rename existing file (for example, name.txt will be renamed to name_1.txt).

원천-ao(덮어쓰기 모드) 스위치

답변2

프롬프트를 생성하는 것은 7-zip입니다. 그것은 다음과 같습니다-y스위치7z.exe당신이 원하는 것을 수행합니다 :

모든 덮어쓰기 쿼리가 억제되고 아카이브와 동일한 파일 이름을 가진 디스크의 파일이 덮어쓰여집니다.

문서의 예에서는 -y에 제공된 경로 뒤에 배치해야 함을 나타냅니다 7z.exe.

관련 정보