Короче говоря: мы получаем команду из скрипта и хотим выполнить ее с помощью оболочки Windows.
В настоящее время мы используем метод, аналогичный:
echo start & command & echo finish
Это работает нормально, если команда сама не содержит амперсанды, например
echo begin & if exist c:\temp.txt echo 1 & echo end
не сможет написать "end", если файл не существует.
Эту проблему можно решить, изменив команду на echo begin & (if exist c:\temp.txt echo 1) & echo end
, но затем мы сталкиваемся с проблемами для команд, которые содержат символы в скобках, например
echo begin & (echo %PATH%) & echo end
print "\Hewlett-Packard\HP в это время был неожиданным." потому что у меня есть Program Files (x86) в пути.
Любой способ избежать специальных символов из результата команды?
заранее спасибо