2012-04-10 2 views
0

ファイルを受け入れるプロシージャーがあります。これらのファイルはTcl \ binフォルダに保存されています。これらのファイルが別のフォルダにある場合、おそらく共有フォルダです。特定のフォルダをポイントして、これらのファイルをこのプロシージャの入力パラメータとして取得するにはどうすればよいですか?TCLプロシージャーを別のディレクトリーにポイントする方法

    proc test {File1 File2 } 

答えて

2

あなたは、相対または絶対ファイルパスを使用しているかどうか、あなたは、アクセス権のような特定の物事を検出するfileコマンドとそのオプションを使用することができます。そこから、あなただけでそれらを読むためにopen/read/gets/closeコマンドを使用して逃げることができます。例えば:

#!/usr/bin/tclsh 

set path "path/to/file/directory/" 
set name "file.name" 

if {[file exists $path$name]} { 
    if {[catch { set handle [open $path$name] }]} { 
     puts "Could not open $path$name" 
    } else { 
     set data [split [read $handle] "\n"] 
     close $handle 
    } 
} 
+0

私は、ファイルのコピーコマンドを試してみました。ファイルコピー/from/path/file.ext/to/path。これを使用している間にエラーが発生しています。パスをバックスラッシュで指定する必要がありますか? – user1270123

+0

これは、私がコードの更新版を見る必要がある別の質問です。あなたが関連するファイル/ディレクトリへの読み取り/書き込みアクセスを持っていることを確認してください。フォワードスラッシュはパス内の問題ではありません。どのようなエラーが表示されますか? – thelazydeveloper

+0

このようなファイルやディレクトリのエラーは発生しません。代わりにファイルコピーを使用しようとしています。私はすでにファイルの読み込み部分を処理しています。 – user1270123

関連する問題