batch-file - 通过右键单击批处理文件提取多个 Rar/Zip 文件
问题描述
我正在使用这段代码将我的 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
这似乎可以解决问题,我希望我不会得到任何错误。
推荐阅读
- cookies - 在 HTTP/2 流中有多个“set-cookie”标头是否可以接受?
- matlab - 如何在 MATLAB 中加速非常慢的动画绘图
- c++ - 关于在 C++ 中访问字符串的字母
- c++ - 避免 3+ 整数的整数乘法溢出
- twitter-bootstrap - 带有圆形边框的轮播上的可见图像边缘
- html - ng重复元素内的引导下拉菜单被溢出自动隐藏
- pandas - Pandas:比较大数据框和小数据框
- java - Java:在堆栈帧中,当前常量池引用值何时以及如何填充?
- c++ - 从 Directx 9 迁移到 Directx 10
- python - 将函数()作为参数传递时python类型提示不起作用