2017-06-08 5 views
0

コンピュータIPアドレスの範囲とテキストファイルをチェックする必要があるバッチスクリプトがあります。両方が満たされていれば終了しなければバッチファイルが呼び出されます別のIP範囲およびテキストファイルをチェックし続け、その..にバッチスクリプト - 条件文を使用するための問題

IP範囲やテキストファイルは以下の通りです:

IP 10.0.50.xxx、10.0.51.xxx:用 検索%username%10.txt

IP 10.0.1.xxx、10.0.5.xxx:を検索%のユーザー名%11.txt

IP 10.0.60.xxx:%ユーザー名%12.txt

IP 10.0.100.xxxの検索:%ユーザー名%13.txt

の検索

if elseの複数のバリエーションを試しました。& & ||運がない声明スクリプトはテキストファイルのみをチェックしますが、IP範囲はチェックしません。

else、if文を削除し、使用しているコードのみを貼り付けました。誰もが見てみてください、私はこのコードには、他の実装するための最良の方法を教えてもらえますか?ありがとう

for %%a in (50,51) do if not exist "%USERPROFILE%\%username%10.txt" ( IPConfig|FindStr/IRC:"IPv4 .*: 10.0.%%a.">Nul 2>&1 && call sydprintmap.bat 
) 
    for %%a in (1,5) do if not exist "%USERPROFILE%\%username%11.txt" ( IPConfig|FindStr/IRC:"IPv4 .*: 10.0.%%a.">Nul 2>&1 && call melprintmap.bat 
) 
    for %%a in (60) do if not exist "%USERPROFILE%\%username%12.txt" ( IPConfig|FindStr/IRC:"IPv4 .*: 10.0.%%a.">Nul 2>&1 && call wynprintmap.bat 
) 
    for %%a in (100) do if not exist "%USERPROFILE%\%username%13.txt" ( IPConfig|FindStr/IRC:"IPv4 .*: 10.0.%%a.">Nul 2>&1 && call adlprintmap.bat 
) 

PS: 私は必要なものは次のとおりです。

1:IPアドレスが範囲内にあり、テキストファイルはその後、最後に行って存在している場合。

2- IPアドレスが範囲内にありますが、テキストファイルが存在しない場合は、特定のスクリプトを実行します。

、3- IPアドレスが範囲内にない場合、その後(該当するテキストファイルをチェックせずに)次の行に

+1

ファイルが存在するかどうかを確認するには '存在しない 'としますか?私は 'ipconfig | findstr /irc:"IPv4.*:10.0.5 [01]。 'を使っています。もし%% username%10.txt ...が存在するならば' – Stephan

+0

(注:ドイツ語のウィンドウでは、 'ipconfig'は' IPv4-Adresse ... 'と書いてありますので、' IPv4の後にスペースを入れました) – Stephan

+0

スクリプトを呼び出す前に両方の条件が満たされていることを確認する必要があります。ファイルがユーザープロファイルの下に存在する場合は、設定が正しく適用されていることを意味します –

答えて

0

を行く私は、私は完全に仕事を理解してかどうかわからないんだけど、あなたはこの試みることがあります。

@Echo Off 
For /F "Tokens=2 Delims=:" %%A In ('IPConfig^|FindStr/IRC:"\<IPv4.*\ :\ 10\.0\.[156]\."' 
) Do For /F "Tokens=3 Delims=." %%B In ("%%A") Do Set "byte3=%%A" 

If "%byte3%" GEq "50" If "%byte3%" LEq "51" If Not Exist "%UserProfile%\%UserName%10.txt" sydprintmap.bat 
If "%byte3%" Equ "1" If Not Exist "%UserProfile%\%UserName%11.txt" melprintmap.bat 
If "%byte3%" Equ "5" If Not Exist "%UserProfile%\%UserName%11.txt" melprintmap.bat 
If "%byte3%" Equ "60" If Not Exist "%UserProfile%\%UserName%12.txt" wynprintmap.bat 
If "%byte3%" Equ "100" If Not Exist "%UserProfile%\%UserName%13.txt" adlprintmap.bat 
関連する問題