我有一个包含 400 多个 RAR、ZIP 和 7Z 文件的文件夹。我想制作一个bat文件,更改此文件夹中选定文件的扩展名,如下所示,RAR->CBR、ZIP->CBZ 和 7Z->CB7 而不重命名未选择的文件。
我尝试过:
ren %1 *.cbr
和:
ren %~n1.rar *cbr
但它不起作用。
bat文件将被放置在“发送到”菜单中。
如果可能的话,我想只使用 cmd,因为我不知道任何脚本或编程语言。
谢谢
我有一个包含 400 多个 RAR、ZIP 和 7Z 文件的文件夹。我想制作一个bat文件,更改此文件夹中选定文件的扩展名,如下所示,RAR->CBR、ZIP->CBZ 和 7Z->CB7 而不重命名未选择的文件。
我尝试过:
ren %1 *.cbr
和:
ren %~n1.rar *cbr
但它不起作用。
bat文件将被放置在“发送到”菜单中。
如果可能的话,我想只使用 cmd,因为我不知道任何脚本或编程语言。
谢谢
[这回答了您最初的问题,更多的是关于“所有”或多个文件。]
您可以使用FOR
循环。键入for /?
以获取详细信息。
首先,尝试使用 FOR 命令以使其 ECHO(打印)文件名。您可以使用它来测试您想要/认为它会做什么:
for %f in (*.rar) do echo %f
然后,要实际重命名,您需要类似以下内容:
for %f in (*.rar) do ren %f *.cbr
[根据您的编辑]:
如果您从“发送到”或其他任何地方调用批处理文件,则您的选择文件应该进入参数%1
(如果有多个%2
,则为等)。%3
您也可以使用%*
所有参数。
尝试在某处回显它,控制台或文件,以测试您是否收到这些以及正在发生的事情。将以下内容另存为批处理文件,然后尝试:
echo %1
pause
在批处理文件中,% 符号需要加倍(出于解析原因)。因此,要重命名,您可以尝试以下操作:
for %%f in (%*) do echo %%f
for %%f in (%*) do ren %%f *.cbr