[英]loop trough files in windows batch
我是 Windows 批次的新手。 這些天我一直在與 FOR 循環作斗爭。
我想用一系列命令遍歷幾個文件。
我嘗試在命令行中運行代碼:
for /f %a in (F:\meta\test\test\List.txt) do (
set b=%a
set c=%b:.txt=_ALE.nii%
set d=%b:.txt=_p005_C05_10_clust.nii%
java -cp GingerALE.jar org.brainmap.meta.getClustersStats %a %c% %d%)
事實證明,該命令確實有效。 但是,並非每個文件(文件路徑在 List.txt 中列出)都通過所有命令執行。
例如,我在 List.txt 中列出的第一個文件是“cognitive.txt”,最后一個是“social.txt”。 讓我很困惑的是,每次參數 %a 正是我想要的,但是 %c% 將是“social_ALE.nii”,%d% 將是“social_p005_C05_10_clust.nii”,而不是匹配 %a 的前綴。
此外,如果我嘗試用“%%”替換所有單個百分比“%”並將它們保存在批處理文件中,那么它就不起作用了。
希望有人可以幫助我擺脫這種混亂的局面!
謝謝!
約萬
我已經解決了這個問題。 這對我來說真是一個驚喜! 我習慣了 MATLAB 中的變量設置。 我很驚訝地發現字符串可以像這樣連接起來
test\%~na_ALE.nii
test\%~na_p005_C05_10_clust.nii
因此,下面的代碼解決了我的問題:
for /f %a in (F:\meta\test\test\List.txt) do (java -cp GingerALE.jar org.brainmap.meta.getClustersStats %a test\%~na_ALE.nii test\%~na_p005_C05_10_clust.nii)
我沒有刪除問題,而是選擇發布此消息,以防有人遇到類似問題!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.