* oop корыто в пакетах windows - PullRequest
0 голосов
/ 04 апреля 2020

Я новичок ie с партией Windows. Я боролся с FOR l oop в эти дни.

Я хочу l oop через пару файлов с помощью серии команд.

Я пытался запустить коды в командной строке:

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.

Кроме того, если я попытался заменить все отдельные проценты "%" на "%%" и сохранить их в пакетном файле, это не сработало бы.

Wi sh кто-то может помочь мне выйти из этой запутанной ситуации!

Спасибо!

Йован

1 Ответ

1 голос
/ 04 апреля 2020

Я решил проблему! Это было довольно неожиданно для меня! Я привык к настройкам переменных в 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)

Вместо того, чтобы удалить вопрос, я выбрал опубликуйте это сообщение, если кто-то может столкнуться с подобными проблемами!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...