
.rar 아카이브 내의 파일 목록을 얻으려면 이 배치를 사용할 수 있습니다.
@(for /R "%UserProfile%\Desktop\test winrar" %%I in (*.rar) do @"%ProgramFiles%\WinRAR\UnRAR.exe" lb "%%I")>files.txt
하지만 저는 또 다른 것을 원합니다. 모든 아카이브에 대한 단일 텍스트 파일 목록이 아닌 각 .rar 아카이브에 대한 텍스트 목록 파일을 생성하는 것입니다. 아니요, 각 아카이브에 대해 하나의 파일에
많은 아카이브가 있고 배치를 사용하여 단일 텍스트 파일을 생성하지만 각 아카이브에 대해 상대 이름을 가진 텍스트 파일 목록을 생성하고 싶습니다.
name1.rar => name1.txt
name2.rar => name2.txt
name3.rar => name3.txt
...
대신 내 스크립트는 단일 파일 목록만 생성하는데 이는 나에게 유용하지 않습니다.
답변1
최소한의 편집으로 다음과 같은 결과를 얻을 수 있습니다.
@(for /R "%UserProfile%\Desktop\test winrar" %%I in (*.rar)do @"%ProgramFiles%\WinRAR\UnRAR.exe" lb "%%I">"%%~nI.txt" & type "%%~nI.txt">>Files.txt)
rem :: or....
@(for /R "%UserProfile%\Desktop\test winrar" %%I in (*.rar)do @"%ProgramFiles%\WinRAR\UnRAR.exe" lb "%%~I">"%%~nI.txt" & type "%%~nI.txt")>Files.txt
스크립트가 작동합니다. 감사합니다. 마지막으로 연결한 사항: 특정 아카이브에 대해서만 >파일 목록을 생성하려는 경우(예: "11eyes Music Collection(FLAC).rar"라는 아카이브에 대해서만 해당) 배치를 사용하려는 경우 어떻게 변경할 수 있습니까? > 당신의 스크립트? – 잭 41
"11eyes Music Collection (FLAC).rar"
다음에 나열된 경쟁 만 필요한 경우Files.txt
:
@echo off && cd /d "%~dp0"
set "_path=%UserProfile%\Desktop\test"
set "_wRar="%ProgramFiles%\WinRAR\UnRAR.exe""
set "_File=11eyes Music Collection (FLAC).rar"
for /f eol^=^|^tokens^=*delims^=^ %%i in ('
%__AppDir__%where.exe /R "%_path%" "%_File%"
')do %_WRar% lb "%%~i" >"%~dp0%%~ni.txt"
"11eyes Music Collection (FLAC).rar"
경합을 제외해야 하는 경우Files.txt
:
@echo off && cd /d "%~dp0"
set "_File=1eyes Music Collection (FLAC).rar"
set "_path=%UserProfile%\Desktop\test winrar"
set "_wRar="%ProgramFiles%\WinRAR\UnRAR.exe""
>.\Files.txt (for /R "%_path%" %%I in (*.rar
)do if /i "%_File%"=="%%~nxI" > "%%~nI.txt"(
%_WRar% lb "%%~I") else %_WRar% lb "%%~I")
- 별도의 파일 목록이 필요
"11eyes Music Collection (FLAC).rar"
하지만 다음 목록에 포함되지 않은 경우Files.txt
:
@echo off && cd /d "%~dp0"
set "_File=1eyes Music Collection (FLAC).rar"
set "_path=%UserProfile%\Desktop\test winrar"
set "_wRar="%ProgramFiles%\WinRAR\UnRAR.exe""
>.\Files.txt (for /R "%_path%" %%I in (
*.rar) do if /i "%_File%"=="%%~nxI" (
%_WRar% lb "%%~I" >"%%~nI.txt" && (
%_WRar% lb "%%~I")) else ^< nul ^
%_WRar% lb "%%~I") && goto :eof
- 파일 목록을 얻으려면드래그 앤 드롭또는
argument
:
@echo off && cd /d "%~dp0"
<con: "%ProgramFiles%\WinRAR\UnRAR.exe" lb "%~dpnx1" >"%~dp0%~n1.txt"