Unrar自定义文件夹中的文件

时间:2017-09-10 15:59:19

标签: batch-file

我试图将RAR文件解压缩到目录(C:\ autoexe \ source)。这里“autoexe”文件夹名称每天都在变化。全名不会改变,字符串“autoexe”中的常量是“auto”,exe部分会发生变化。我尝试了下面的

for /f "delims=" %%a in ('dir /b "%cd%\samples\package.rar"') do start "" "%ProgramFiles%\WinRAR\WinRAR.exe" x -ibck "%cd%\samples\package.rar" *.* "%cd%\auto * \source"

1 个答案:

答案 0 :(得分:1)

这个带错误处理的注释批处理代码应该完成这项工作:

@echo off
rem Get name of first non hidden subfolder starting with auto in current folder.
for /D %%I in (auto*) do set "FolderName=%%I" & goto CheckArchive

echo Error: There is no auto* folder in: "%CD%"
echo/
pause
goto :EOF

:CheckArchive
if exist "samples\package.rar" goto ExtractArchive

echo Error: There is no file "package.rar" in subfolder "samples" of
echo        folder: "%CD%"
echo/
pause
goto :EOF

:ExtractArchive
"%ProgramFiles%\WinRAR\UnRAR.exe" x -c- -idq -y -- "samples\package.rar" "%FolderName%\"
if not errorlevel 1 goto :EOF

echo/
echo/
pause

WinRAR 的程序文件文件夹中读取文本文件Rar.txt,以获取有关UnRAR命令行上已使用的开关的详细信息,或在命令提示符下运行UnRAR.exe窗口没有任何选项可以显示如何使用此免费软件控制台应用程序的简短帮助。

要了解使用的命令及其工作原理,请打开命令提示符窗口,执行以下命令,并完全阅读为每个命令显示的所有帮助页面。

  • echo /?
  • for /?
  • goto /?
  • if /?
  • pause /?
  • set /?

阅读Single line with multiple commands using Windows batch file上的答案,了解&运算符的说明。并阅读Microsoft支持文章Testing for a Specific Error Level in Batch Files