2016-10-11 17 views
2

sasでは、ある場所から別の場所にファイルをコピーする必要がありますが、そのファイルはスペースが問題となるフォルダにあります。ここでSAS x "copy ..."にスペースを含むフォルダを使用する方法?

は、私が何をしたいです:

x "copy \\aaa\b c d\eee.pdf \\fff\ggg.pdf"; 

ため、BのCとDの間のスペースで、それは動作しません。

私は

x 'copy \\aaa\"b c d"\eee.pdf \\fff\ggg.pdf'; 

を行うことができます知っている。しかし、私のファイルの名前は、このように私はコピー文の二重引用符で囲む必要があるマクロ変数を使用します。

コピーステートメントで二重引用符をエスケープする方法はありますか?例えば、このような何か(%を除いて動作していない)

x "copy \\aaa\%"b c d%"\eee.pdf \\fff\ggg.pdf"; 

EDIT
私も猫を試してみました:

x cats("copy \\aaa\",'"b c d"',"\eee.pdf \\fff\ggg.pdf"); 
+0

このスレッドではいくつかの素晴らしい答えがあります。 –

答えて

3

%sysexecxを交換し、あなたが引用符を必要としません。

%sysexec copy "\\aaa\b c d\eee.pdf" "\\fff\ggg.pdf"; 
1

QUOTE()機能を使用してください。これは、引用しようとしている文字列の内部引用符を適切に2倍にします。

x %sysfunc(quote(copy "\\aaa\b c d\eee.pdf" "\\fff\ggg.pdf")); 
2

引用符をダブルアップしてください。

x "copy ""\\aaa\b c d\eee.pdf"" \\fff\ggg.pdf"; 
関連する問題