簡體   English   中英

windows 批次中的循環槽文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM