2017-03-17 14 views
0

\\\に置き換えようとしましたが、ネットワークフォルダーパスを含む文字列変数に置き換えようとしています。それは私が交換することができる午前他の文字である場合、スクリプトは、その\以来、私はこの問題をtclスクリプト文字列変数で¥を¥¥と置き換える方法は?

regsub -all {'\'} $folderpath {\\} $folderpath 

取得しています。

+0

はあなたが出て何を、サンプル入力を与え、何を望んでいたことができますか?また、生成されたエラーメッセージ。 –

+0

1.一重引用符で囲んでいます - 間違っています。それを除く。 \はエスケープ文字です。これを普通の文字として扱うには、別の\でエスケープする必要があるので、余分な\を使います。 regsub -all {\\} $ folderpath {\\\\} folderpath – Sharad

答えて

2
set folderpath [string map {\\ \\\\} $s] 

regsubを使用するよりも約5倍高速です。

fileコマンドには、セパレータの外観に関係なくパス文字列を管理できるいくつかのサブコマンドがあります。

ドキュメント: filestring

0
% set path {C:\Dinesh\Downloads\Movies\Friends} 
C:\Dinesh\Downloads\Movies\Friends 
% regsub -all {\\} $path {\\\\} 
C:\\Dinesh\\Downloads\\Movies\\Friends 
% 
関連する問題