Система не может найти файл, если его путь / имя содержит пробел - PullRequest
0 голосов
/ 06 апреля 2019
Path = split(wscript.scriptFullName, wscript.scriptname)(0) 
CreateObject("wscript.shell").run(Path & "Name.txt")

Приведенный выше скрипт работает нормально, если путь к файлу и имя файла не содержат пробелов.

Если любой из них содержит пробел, результат будет;

Ошибка: система не может найти указанный файл.

Как я могу исправить ошибку?

Ответы [ 2 ]

2 голосов
/ 06 апреля 2019

Правила довольно просты:

  1. Все строки должны начинаться и заканчиваться двойными кавычками, чтобы быть допустимой строкой.

    Dim a
    a = "Hello World" 'Valid string.
    a = "Hello World  'Not valid and will produce an error.
    
  2. Любое использование переменных должно использовать Объединение строк символ &, чтобы объединить их со строками.

    Dim a: a = "Hello"
    Dim b
    b = a & " World" 'Valid concatenated string.
    b = a " World"   'Not valid and will produce an error.
    
  3. Так как двойные кавычки используются для определения строки, все экземпляры двойных кавычек внутри строки необходимо экранировать, удваивая кавычки "", но правило 1 все еще применяется.

    Dim a: a = "Hello"
    Dim b
    b = """" & a & " World""" 'Valid escaped string.
    b = """ & a & " World"""  'Not valid, start of string is not complete 
                              'after escaping the double quote 
                              'producing an error.
    

Следуйте этим трем правилам, и вы не ошибетесь.

Имея это в виду, приведенная выше строка должна быть:

CreateObject("wscript.shell").run("""" & Path & "Name.txt""") 

для генерации строки, окруженной буквальными двойными кавычками.


Полезные ссылки

0 голосов
/ 06 апреля 2019
CreateObject("wscript.shell").run(""""Path & "Name.txt""")

как.

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