Tcl mkdir之后,不会在创建的文件夹中生成文件

Tcl mkdir之后,不会在创建的文件夹中生成文件,tcl,Tcl,在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]

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"

file mkdir
命令生成目录,而不是文件。
文件联接
生成文件路径名,但实际上并不生成文件。要创建一个文件,您需要
打开它进行写入(最后
再次关闭它)


而且,
file mkdir
put
的结果总是空字符串(当没有错误时)。你可能不想使用它们。根据我的经验,
cd
通常在脚本中是最好避免的,特别是如果你想让它们完全可重用,因为它会改变所有相关文件名的绝对含义。
file mkdir
命令生成目录,而不是文件。
文件联接
生成文件路径名,但实际上并不生成文件。要创建一个文件,您需要
打开它进行写入(最后
再次关闭它)


而且,
file mkdir
put
的结果总是空字符串(当没有错误时)。你可能不想使用它们。根据我的经验,
cd
通常在脚本中是最好避免的,特别是如果你想让它们完全可重用,因为它会改变所有相关文件名的绝对含义。

为什么你认为
file join
是创建文件的合适函数?设置curdir[file dir[info script]];放置“路径--$curdir”catch{cd$curdir}set OutPutDircr[文件mkdir$curdir/OutPutFiles];设置OutPutDir“$curdir/OutPutFiles”设置Summary[file join“$OutPutDir”Summary.txt]设置ECount[file join”$OutPutDir“ECount.txt],这样我就可以调用该特定文件,打开它并写入结果,然后关闭它,但该文件还不存在。您刚刚创建了文件夹。要创建文件,您需要使用
打开文件路径w
(完成后将其关闭)。为什么您认为
文件连接
是创建文件的合适功能?设置curdir[file dir[info script];放置“路径--$curdir”catch{cd$curdir}set OutPutDircr[文件mkdir$curdir/OutPutFiles];设置OutPutDir“$curdir/OutPutFiles”设置Summary[file join“$OutPutDir”Summary.txt]设置ECount[file join”$OutPutDir“ECount.txt],这样我就可以调用该特定文件,打开它并写入结果,然后关闭它,但该文件还不存在。您刚刚创建了文件夹。要创建文件,您需要使用
打开文件路径w
(完成后将其关闭)。谢谢Donal。我会试着用的谢谢Donal。我将尝试使用它。
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