Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / CMD/call команда со спецсимволами / 10 сообщений из 10, страница 1 из 1
18.02.2014, 20:03
    #38565134
Царь в голове
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CMD/call команда со спецсимволами
В командной строке выполняю:
Код: powershell
1.
call "C:\projects\!#$%&'(strange dir)+,-.;=@[]^_`~\some_script.bat"


получаю:
Код: powershell
1.
The system cannot find the path specified.



!#$%&'(strange dir)+,-.;=@[]^_`~ <------ это такое имя каталога в пути (все символы в Windows допустимы). Сделано специально для тестирования. Хочу, чтобы мой скрипт работал в таких условиях.

Подскажите, пожалуйста, какие именно символы его не устраивают. Есть ли какая-то официальная дока на эту тему? Как вообще это решается?

Без CALL работает. Без кавычек выдает:
получаю:
Код: powershell
1.
2.
3.
'C:\projects\!#$%' is not recognized as an internal or external command, operable program or batch file.
''' is not recognized as an internal or external command,
operable program or batch file.



Мне нужно именно с CALL.
...
Рейтинг: 0 / 0
18.02.2014, 20:19
    #38565146
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CMD/call команда со спецсимволами
% спецсимвол в батниках, наверно из-за него. Точнее не скажу, но советую глубоко не заморачиваться с решениями на все случаи жизни. Жизнь она такая штука, что все-равно вылезет то, что ты не предвидел, но постараться предвидеть все-равно не помешает.
...
Рейтинг: 0 / 0
18.02.2014, 20:20
    #38565150
x1ca4064
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CMD/call команда со спецсимволами
Царь в голове,

Скорее всего, проблема в использовании символа ^ - он в пакетных файлах имеет специальное значение:

попробуйте в батнике echo ^_
...
Рейтинг: 0 / 0
18.02.2014, 20:23
    #38565155
Царь в голове
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CMD/call команда со спецсимволами
Dima T% спецсимвол в батниках, наверно из-за него.
Пробовал его задваивать и маскировать ^% --- не помогает :(
тем более:
'C:\projects\!#$%' is not recognized
-- видимо, процент проходит
...
Рейтинг: 0 / 0
18.02.2014, 20:26
    #38565157
Царь в голове
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CMD/call команда со спецсимволами
x1ca4064Скорее всего, проблема в использовании символа ^ - он в пакетных файлах имеет специальное значение:
пробовал его задваивать и зачетверять.
Кто-нибудь знает какой-нибудь регламент на этот счет?!
...
Рейтинг: 0 / 0
18.02.2014, 21:05
    #38565184
Царь в голове
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CMD/call команда со спецсимволами
Убрал амперсанд -- заработало
...
Рейтинг: 0 / 0
18.02.2014, 21:22
    #38565197
Царь в голове
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CMD/call команда со спецсимволами
:( oшибочка вышла. Все еще не работает
...
Рейтинг: 0 / 0
19.02.2014, 01:19
    #38565344
скукотища
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CMD/call команда со спецсимволами
Царь в голове,
в командной строке
Код: powershell
1.
call "C:\projects\!#$%&'(strange dir)+,-.;=@[]"^^_`~\some_script.bat"


в батнике
Код: powershell
1.
call "C:\projects\!#$%%%%&'(strange dir)+,-.;=@[]"^^"_`~\some_script.bat"
...
Рейтинг: 0 / 0
19.02.2014, 15:32
    #38566308
Царь в голове
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CMD/call команда со спецсимволами
скукотища,

да я такие варианты пробовал. Проблема в том, что пути задаются в конфиге и прописываются в переменных. Потом из этих переменных формируются имена файлов. Различных типов ситуаций несколько, поэтому я так и не смог выработать подходящее простое решение.

Что сделал: запретил символы %&()^;@ и написал VBScript, который это проверяет. VBScript'у тоже не всегда удается передать правильно эти символы (если таковые встречаются), но при этом сыпятся ошибки в консоль и последующие проверки не дают скрипты работать дальше. В общем, решение приемлемое в моей ситуации.
...
Рейтинг: 0 / 0
19.02.2014, 16:58
    #38566510
Царь в голове
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
CMD/call команда со спецсимволами
а поскольку используется setlocal enableDelayedExpansion, то и "!" запретил.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / CMD/call команда со спецсимволами / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]