我正在使用这段代码将我的cbr / cbz文件提取到文件夹中。由于我有漫画阅读器,因此默认情况下会打开这些文件。我制作了此批处理文件并将其放在shell:sendto
下,因此我可以右键单击cbr文件并将其解压缩到那里的新文件夹中。一次只能处理一个文件。
cd /d %~dp1
"C:\Program Files\WinRAR\WinRAR.exe" x %1 "%~n1\"
它适用于单个文件。但是我想在同一文件夹中选择5-6个文件,右键单击它们,然后选择发送至我的批处理命令并将其全部解压缩到它们的特定文件夹。
所以我为此做了一个批处理文件:
cd /d %~dp1
:start
"C:\Program Files\WinRAR\WinRAR.exe" x %1 "%~n1\"
SHIFT
if not "%1"=="" (goto :start)
pause
但是它不起作用。如何使我的批处理文件识别右键单击时选择的文件?
编辑:
我以为目录更改可能会干扰代码,所以我删除了该部分。仍然不能用于多个文件,只适合一个。
:start
"C:\Program Files\WinRAR\WinRAR.exe" x %1 "%~dp1%~n1\"
SHIFT
if not "%1"=="" (goto :start)
pause
我想我明白了,如果您还有其他建议,请这样说。
for %%A in (%*) do "C:\Program Files\WinRAR\WinRAR.exe" x %%A "%%~dpA%%~nA\"
pause
这似乎可以解决问题,希望我不会出现任何错误。