我试图用批处理脚本unrar文件。我想遍历一个文件夹及其子文件夹,并且每当有一个.rar文件时,我都希望它将其内容放入与.rar文件相同的文件夹中。 我正在使用unrar.exe来执行此操作,并且它需要我在raring时指定输出文件夹。 如果我没有指定任何文件夹,它会将它拉到“当前文件夹”,这是batfile的文件夹。批处理文件:如何在(.fileext)中使用FOR/R {目录}遍历目录时保存/使用subdir-name
这是我的代码:
FOR /R %dir_of_file% %%X in (*.rar) do (
"%unrarexe_path%\unrar.exe" x -y -r %%X {set unrarfolder path}
)
是否有某种方式来艾薇迭代的for循环,路径保存到我期待直通当前子目录?
喜欢的东西:
set unrar_to_here={haxcommand that will give me current subdirectory in for-loop}
希望我的问题是可以理解的:)
非常感谢,它完美地工作! 〜dp如何工作? – user2190459 2013-03-20 17:00:15
在'for'循环中,'%%〜xX'符号表示特殊含义。在这种情况下,'〜dp'表示'%% X'的驱动器路径(不带文件名)。有关更多信息,请参阅“help for”的最后几页。对于它的价值,'call'接受与它的参数类似的语法 - 并且作为一个整体来说批处理脚本也是如此。 '%〜f0'表示当前正在运行的批处理脚本的全限定路径和名称,即使在执行时没有提供路径或扩展名。有关更多信息,请参阅“帮助电话”。 – rojo 2013-03-20 17:03:51
@ user2190459 - 如果我的答案解决了您的问题,请考虑[正式接受我的答案](http://meta.stackexchange.com/a/5235/187716)。谢谢! – rojo 2013-03-20 17:08:54