Как запустить VBScript из командной строки - PullRequest
3 голосов
/ 03 мая 2020

Я новичок в VBScript.

Мне нужно выполнить в VBScript эту командную строку:

C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld --defaults-file=C:\Program Files\MySQL\MySQL Server 5.5\my.ini MySQL

Я прогуглил это и узнал, что мы можем запустить VBScript из командной строки, выполнив следующую команду, и я попробовал это:

Set oShell = Wscript.CreateObject("WScript.Shell")          
oShell.run "cmd /k ""C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld --defaults-file=C:\Program Files\MySQL\MySQL Server 5.5\my.ini MySQL", 1, True 

Но скрипт остановлен, потому что в пути к файлу my.ini есть некоторая папка с пробелом в имени, то есть Program Files и MySQL Server 5.5

Как решить это?

Ответы [ 2 ]

1 голос
/ 05 мая 2020

Первое: чтобы упростить жизнь, просто используйте эту функцию, чтобы заключить в кавычки ваши строки и отладить вашу команду с помощью wscript.echo или MsgBox перед ее выполнением!

SQL_CMD = "cmd /k "& DblQuote("C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld.exe") &_
"--defaults-file="& DblQuote("C:\Program Files\MySQL\MySQL Server 5.5\my.ini") & " MySQL"
wscript.echo SQL_CMD
'--------------------------------------
Function DblQuote(Str)
    DblQuote = Chr(34) & Str & Chr(34)
End Function
'--------------------------------------
1 голос
/ 05 мая 2020

Вы можете сохранить Filepath в переменной и запустить его.

Set oShell = Wscript.CreateObject("WScript.Shell") 
Dim path = "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld --defaults-file=C:\Program Files\MySQL\MySQL Server 5.5\my.ini MySQL"         
oShell.run "cmd /k " path , 1, True

Удачи

Jonas

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...