|
КомандаСистемы() и строка типа батника | ☑ | ||
---|---|---|---|---|
0
Aradel3d
09.11.15
✎
08:54
|
Добрый день!
Возникла такая проблема с кавычками: хочу из обработки запустить строку к исполнению, формирую ее из параметров-переменных. При сборке получается рабочая строка, которая исполняется в cmd, но при исполнении внутри КомандаСистемы(), пишет что 'C:\Program' is not recognized as an internal or external command, operable program or batch file. - отсекает по пробелу. Строка на выходе вот такая: "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.exe" -U "sa" -P "123456" -S "servername" т.е. путь к exe обрамлен кавычками. Сталкивались с таким? |
|||
1
Aradel3d
09.11.15
✎
08:58
|
КомандаСистемы("""C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.exe"""); отдельно также фурычит. А вот после прибавления ЛогинSQLBQP = " -U ""sa""" и прочих параметров уже нет. Но повторюсь, что результат итоговая строка в cmd работает.
|
|||
2
НЕА123
09.11.15
✎
09:04
|
(0)
второй параметр ? |
|||
3
1Сергей
09.11.15
✎
09:05
|
"""C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.exe"" -U ""sa"" -P ""123456"" -S ""servername"""
|
|||
4
Aradel3d
09.11.15
✎
09:07
|
(2)
ЛогинSQLBQP = " -U ""sa"""; ПарольSQLBQP = " -P ""123456"""; СерверSQLBQP = " -S ""servername"""; КомандаСистемы("""C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.exe"""+ЛогинSQLBQP+ПарольSQLBQP+СерверSQLBQP); |
|||
5
Aradel3d
09.11.15
✎
09:09
|
(3) Две кавычки у пути до exe уже не воспринимаются как строка, начинает подсвечивать фрагменты как переменные, только три кавычки годны к дальнейшим прибавлениям переменных.
|
|||
6
Fedor-1971
09.11.15
✎
09:12
|
А так:
"""C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.exe "+ЛогинSQLBQP+ПарольSQLBQP+СерверSQLBQP+""" по сути тебе нужно передать строку в кавычках. |
|||
7
Aradel3d
09.11.15
✎
09:20
|
(6) Третья кавычка в конце считается как открывающий новый строковый фрагмент и ); подкрашивается как строка.
|
|||
8
Fedor-1971
09.11.15
✎
09:24
|
(7) тогда поставь ещё одну, будет 4 и закроется предыдущая строка
|
|||
9
Aradel3d
09.11.15
✎
11:26
|
Для будущих поколений... ничего хорошего с кавычками не вышло, ни три ни две. Если прибавлять переменные работать строка программно отказывалось, хоть и была рабочей для батника. В итоге попробовал задействовать второй параметр КомандаСистемы()<ТекущийКаталог> вынес туда путь до exe и заработало.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |