使用CMD更改所选文件的扩展名

使用CMD更改所选文件的扩展名,cmd,zip,batch-processing,file-extension,rar,Cmd,Zip,Batch Processing,File Extension,Rar,我有一个包含400多个RAR、ZIP和7Z文件的文件夹。我想制作一个bat文件,用于更改此文件夹中选定文件的扩展名,如下所示:RAR->CBR、ZIP->CBZ和7Z->CB7,而不重命名未选定文件 我试过: ren%1*.cbr 以及: ren%~n1.rar*cbr 但它不起作用 bat文件将被放置在发送到菜单中 如果可能的话,我只想使用cmd,因为我不知道任何脚本或编程语言 谢谢[这回答了您原来的问题,这是关于“全部”或多个文件的更多信息。] 您可以使用FOR循环。键入以获取/?以获取详细

我有一个包含400多个RAR、ZIP和7Z文件的文件夹。我想制作一个bat文件,用于更改此文件夹中选定文件的扩展名,如下所示:RAR->CBR、ZIP->CBZ和7Z->CB7,而不重命名未选定文件

我试过:

ren%1*.cbr

以及:

ren%~n1.rar*cbr

但它不起作用

bat文件将被放置在发送到菜单中

如果可能的话,我只想使用cmd,因为我不知道任何脚本或编程语言


谢谢

[这回答了您原来的问题,这是关于“全部”或多个文件的更多信息。]

您可以使用
FOR
循环。键入
以获取/?
以获取详细信息

首先,尝试输出FOR命令,使其回显(打印)文件名。你可以用它来测试你想要/认为它会做什么:

for %f in (*.rar) do echo %f
然后,要真正重命名,您将需要以下内容:

for %f in (*.rar) do ren %f *.cbr
for %%f in (%*) do echo %%f
for %%f in (%*) do ren %%f *.cbr

[编辑后]:

如果您正在从“发送到”或其他任何位置调用批处理文件,则您选择的文件应包含在参数
%1
(以及
%2
%3
等(如果有多个)。您还可以对所有参数使用
%*

尝试在某个地方回显它,到控制台或文件,以测试您是否接收到这些消息&发生了什么。将以下内容另存为批处理文件,然后重试:

echo %1
pause
在批处理文件中,需要将%符号加倍(出于解析原因)。因此,要重命名,您可以尝试以下操作:

for %f in (*.rar) do ren %f *.cbr
for %%f in (%*) do echo %%f
for %%f in (%*) do ren %%f *.cbr

另请参见:

[这回答了您原来的问题,其中包括更多关于“全部”或多个文件的信息。]

您可以使用
FOR
循环。键入
以获取/?
以获取详细信息

首先,尝试输出FOR命令,使其回显(打印)文件名。你可以用它来测试你想要/认为它会做什么:

for %f in (*.rar) do echo %f
然后,要真正重命名,您将需要以下内容:

for %f in (*.rar) do ren %f *.cbr
for %%f in (%*) do echo %%f
for %%f in (%*) do ren %%f *.cbr

[编辑后]:

如果您正在从“发送到”或其他任何位置调用批处理文件,则您选择的文件应包含在参数
%1
(以及
%2
%3
等(如果有多个)。您还可以对所有参数使用
%*

尝试在某个地方回显它,到控制台或文件,以测试您是否接收到这些消息&发生了什么。将以下内容另存为批处理文件,然后重试:

echo %1
pause
在批处理文件中,需要将%符号加倍(出于解析原因)。因此,要重命名,您可以尝试以下操作:

for %f in (*.rar) do ren %f *.cbr
for %%f in (%*) do echo %%f
for %%f in (%*) do ren %%f *.cbr

另请参见:

使用
测试(*.rar)do ren“%%f”*。cbr
测试(*.zip)do ren”%%f*。cbz
仍然影响相同扩展名的所有文件,而不仅仅是我在bat文件上拖动的选定文件是的,您最初提出了“全部重命名”问题。请尝试进一步向下的
%*
版本,查看是否可以拾取调用批处理文件的选定文件/参数。您还可以使用
echo
测试您正在做的事情。这些东西可能会出错,请确保您不会意外地错误重命名400个重要文件!在(*.rar)do-ren“%%f”*.cbr和在(*.zip)do-ren“%%f”%%f*.cbz中使用
测试%%f in(*.rar)do-ren“%%f”*.cbz
仍然影响具有相同扩展名的所有文件,而不仅仅是我在bat文件上拖动的选定文件是的,您最初提出了“全部重命名”问题。请尝试进一步向下的
%*
版本,查看是否可以拾取调用批处理文件的选定文件/参数。您还可以使用
echo
测试您正在做的事情。这些东西可能会出错,请确保您不会意外地错误重命名400个重要文件!