2016-12-22 5 views
-1

Windowsのコンテキストメニューでに送信されるバッチファイルがあります。バッチスクリプトと特殊文字

@echo off 
:while1 
SET _paramini=%1 
IF EXIST %_paramini% (
    IF "%2" == "" goto :fin 
    SHIFT /1 
) 
goto :while1 
:fin 

文字「;」を含むファイルを除いて動作します。彼らの名前で。

スクリプトの問題は何ですか?

+4

';; STATEMENT'行の意味は何ですか? – npocmaka

+0

これはエラーです。ごめんなさい。 –

+0

';'以外にも、あなたのスクリプトは空白、 '、'、 '='でも失敗します – aschipfl

答えて

1

あなたは本当にあなたがここに既存または存在しないファイルをやりたいと思っているものの表示を私たちに提供していないとして、あなたに動作するはずの道を示すための簡単な例です:

@Echo Off 
For %%A In (%*) Do If Exist "%%~A" Echo=[%%~A - Exists] 
Timeout -1 

さらに、スクリプトを変更すると、より良い結果が得られます。

@echo off 
:while1 
SET "_paramini=%~1" 
IF EXIST "%_paramini%" (
    IF "%~2" == "" goto :fin 
    SHIFT /1 
) 
goto :while1 
:fin