Передача пути к файлу с пробелами и косой чертой в качестве аргумента команде TCL - PullRequest
0 голосов
/ 15 октября 2018

У меня есть сценарий TCL, который запускается Libero, используя путь к файлу, указанный в качестве аргумента для открытия проекта.Путь к файлу: C:\Users\me\Documents\FPGA projects\file.prjx

Я запускаю сценарий в соответствии с Справочное руководство Libero TCL (стр. 51 - 52) для запуска сценария в командной строке.На странице 47 документ описывает, как работать с именами файлов с пробелами;используя фигурные скобки или в случае использования в качестве аргумента используйте двойные кавычки.

Команда, которую я пытаюсь выполнить:

Path\to\libero SCRIPT:export.tcl SCRIPT_ARGS:""C:\Users\me\Documents\FPGA projects\file.prjx""

Внешний набор двойных кавычек должен следоватьСинтаксис, описанный на странице 52 документа для предоставления аргументов и внутреннего набора двойных кавычек, заключается в обработке пробела в первом аргументе.Я ожидал, что $argv 0 будет C:\Users\me\Documents\FPGA projects\file.prjx, но вместо этого $argv 0 на самом деле C:\Users\me\Documents\FPGA.

Я добавил оператор печати в скрипт для печати $argv:

puts $argv

Это дает результат C:\Users\me\Documents\FPGA, поэтому остальная часть пути к файлу не интерпретируется какбыть вторым аргументом.

Я предполагаю, что соглашения, изложенные в документе, являются просто стандартными соглашениями TCL для предоставления пути к файлу, содержащего косые черты и пробелы в качестве аргумента.Я не смог найти пример передачи аналогично отформатированного аргумента в TCL.Есть идеи?

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