после mkdir файлы не создаются в созданной папке - PullRequest
0 голосов
/ 07 июня 2018

После mkdir файлы не создаются в созданной папке

set curdir [file dir [info script]];
puts "path $curdir "
catch {cd $curdir}

set odir [file mkdir $curdir/OPFiles];

set OPDir [file dirname [ puts "$odir"]]
puts "path-- $OutPutDir"


set Summary [file join "$OPDir" Sum.txt];
puts "path-- $Summary"

set ECount [file join "$OutPutDir" EC.txt]
puts "path-- $ECount"

1 Ответ

0 голосов
/ 07 июня 2018

Команда file mkdir создает каталоги, а не файлы.file join создает пути к файлам, но фактически не создает файл.Чтобы создать файл, вам нужно open написать его (и, в конечном итоге, close снова).

set curdir [file dirname [info script]]
set odir [file join $curdir OPFiles]

file mkdir $odir

set Summary [file join $odir Sum.txt]

set handle [open $Summary "w"]
puts $handle "this would be some summary text..."
close $handle

Кроме того, результаты file mkdir и puts всегда являются пустой строкой(когда нет ошибки).Вы, вероятно, не хотите их использовать.И по моему опыту, cd обычно лучше избегать в сценариях, , особенно , если вы хотите, чтобы их вообще можно было многократно использовать, поскольку это меняет абсолютное значение всех относительных имен файлов.

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