2012-05-10 4 views
1

ので、私が持っている* .CMDファイル内:xp bath(cmd)スクリプトの変数を自動的にエスケープすることは可能ですか?

set /p variable=user input here 

そして今、私は、この変数にかなっを行うことになってんだけど、ユーザーはここで何も、エスケープされていない場合は禁止されていても、文字を置いてもよいです。この可能性に対処するために、私はCMDツールボックスに何かを持っています。これは、スクリプトに安全に使用できるように、必要なすべての文字がエスケープされた別の変数を自動的に作成することです(ユーザーには何が許可されているのか分かりません)。

答えて

0

SET/Pは、エスケープされていない特殊文字を含め、すべての入力を適切に受け入れます。特殊文字を含む変数(おそらく)を使う時が来たら、遅延拡張を使うだけです。

@echo off 
setlocal enableDelayedExpansion 
set /p "test=Enter something: " 
echo test=!test! 

特殊文字の入力を許可するには、SET/Pステートメントの引用符は必要ありません。プロンプトの最後にスペースを入れるだけです。

関連する問題