2016-06-06 4 views
0

Мне нужно преобразовать следующее, чтобы быть совместимым с пакетным скриптом.Как использовать встроенные переменные в .bat-файле?

cmd.exe cd " + homepath + "\\" + a 
mvn archetype:generate -DarchetypeCatalog=file://"+ homepath + "/.m2/repository 
1 
c 
b 
c 
uuid.toString() 
Y 
cd " + homepath +"\\"+ a +"\\" + b 
vn clean install 
"cd " + homepath +"\\" + a 
a 
cd " + homepath +"\\" + a +"\\" + b + "\\" + b + "-plugin" + "\\target 
jar -xvf " + zipDirectory 
cmd cd " + homepath +"\\" + a +"\\" + b + "\\" + b + "-plugin" + "\\target\\" + "\\META-INF\\maven\\" + c + "\\" + b + "-plugin 
copy pom.xml " + pluginDirectory 
cd " + pluginDirectory 
rename pom.xml " + b + "-plugin-1.0.0.pom 
color 0a 

Для линии, как первый:

cmd.exe cd " + homepath + "\\" + a 

ли линия выглядеть так?

SET homepath = C:\Users\Joe\ 
SET a = plugins 
cmd.exe cd echo %homepath% echo %a% 

ответ

1

в пакетном режиме, нет символа конкатенации символов, например, на других языках программирования. Вы просто использовать переменную вместо строки:

set homepath=%userprofile% 
set a=plugins 
echo homepath is %homepath% and a is %a%. 
cd %homepath%\%a% 

(Примечание: не используйте пробелы вокруг = с командой set - они будут являться частью имени переменной соответственно значение)

+0

Как я могу подтвердить что мой скрипт выполнил? При запуске файла bat он просто мерцает, а затем выключается мгновенно. – santafebound

+0

Nevermind. Чтобы проверить это, я написал следующее: 'mkdir batchscript' – santafebound

+2

don * t запускать пакетные файлы за двойной щелчок, пока еще тестирует/отлаживает. Запустите его непосредственно из командной строки, чтобы увидеть какие-либо ошибки. Также есть команда 'pause', которая ждет нажатия клавиши. – Stephan

Смежные вопросы