Escape-символы командной строки Windows

короче говоря: мы получаем команду из сценария и хотим выполнить ее с помощью оболочки 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 печать "Hewlett-PackardHP в этот раз была неожиданной."потому что у меня есть программные файлы (x86) в пути.

любой способ избежать специальных символов из результата команды?

спасибо заранее

16
задан Vic
17.05.2023 8:53 Количество просмотров материала 2877
Распечатать страницу

1 ответ

проблема в пробелах в пути, поэтому используйте кавычки.

  echo begin & (echo "%PATH%") & echo end
1
отвечен RedGrittyBrick 2023-05-18 16:41

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх