我試圖用批處理腳本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