2016-09-29 15 views
0

私は一度に複数のことを行う複雑なバッチスクリプトをまとめようとしています。私はそれの一部に掛かっている。 スクリプトで顧客番号を尋ねて、その番号をURLの特定の場所に配置したいとします。 問題は、URLにアンパサンドがあり、変数の内容をエコーするとエラーが発生することです。バッチ変数のアンパサンドからの脱出

@echo off 
set /p id="Enter ID: " 
set URL=https://firsturlsectionhere.com 
set FULLURL=%URL%id%^&therestofurl 
@echo %FULLURL% 

あなたのお役に立てれば助かります。

答えて

1

変数を引用符で設定すると、アンパサンドをエスケープする必要はありません。しかし、あなたはアンパサンドを持っているので、あなたは遅延拡張で変数をエコーする必要があります。

@echo off 
set /p id="Enter ID: " 
set URL=https://firsturlsectionhere.com 
set "FULLURL=%URL%/%id%&therestofurl" 
setlocal enabledelayedexpansion 
echo !FULLURL! 
endlocal 
pause 

あなたは変数にエスケープ文字を続ける場合は、そのまま引用サラウンドあなたのsetコマンドは、あなたは、変数をエコーすることができます。

@echo off 
set /p id="Enter ID: " 
set URL=https://firsturlsectionhere.com 
set "FULLURL=%URL%/%id%^&therestofurl" 
echo %FULLURL% 
pause 
+0

ありがとうございます!それは魅力のように働いた。 –

関連する問題