我试图将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"
答案 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。