olsmir
написал 5 июня 2009 года в 17:24 (1633 просмотра)
Ведет себя
неопределенно; открыл 1 тему в форуме, оставил 2 комментария на сайте.
При написании скрипта TCL никак не могу найти способ, как мне получить путь к самому этому файлу TCL. Например, я написал скрипт test.tcl, поместил его на C:\AAA\BBB\test.tcl. Как мне в этом же скрипте извлечь путь C:\AAA\BBB ?
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
regsub -all {\[^\]+$} «C:\\AAA\\BBB\\test.tcl» «» out
puts $out
Всё это хорошо (а фразу «\test.tcl», которая также возвращается в переменную $out, я бы естественно отсёк), но в этом примере В ЯВНОМ ВИДЕ указывается этот путь. А я его как бы заранее-то не знаю и хочу получить. Т.е. я поместил скрипт test.tcl в некое место и в процеесе его выполнения хочу получить это место.
Даааа чета я стпуил по твоему вопросу, тада просто в тело скрипта помести:
Увы. $argc и $argv<число> (конечно $argv0) — это первое, что пришло мне на ум, по аналогии с другими языками командной строки. Написал простейшую команду puts «path = $argv0», и получил отлуп:
# can’t read «argv0»: no such variable
Это я получил внутри того приложения, которое умеет работать со скриптами TCL (для чего мне собственно всё и надо).
Если же выполнить из-под обычного интерпретатора TCL (запускаешь экзешник tclsh, открывается чёрное окно с приглашением в виде %, и там вводишь source test.tcl), то выдаётся пустышка:
path =