2016-01-27 127 views
0

我需要一個輸出來檢查記事本上輸入的數據是否有效或無效。如果組名稱包含字符串「APP_FRA」,則它將被視爲有效。批處理腳本:檢查是否有效或無效輸入

輸出需要:

無效 - DVA_UA_ZETAFAXFAXCLIENT_2014_01-T000

合法 - APP_FRA_WFL_PEL_CIM_DK_ICG_SEPA

合法 - APP_FRA_WFL_PEL_CIM_NO_ICG_SEPA

無效 - DVA_UA_THOMSNONESMRT_57_00-T000

無效 - XSP_XA_LIBREOFFIC ECFG_50_00

==========================================

這裏就是我所做的:

@echo off 

SETLOCAL DISABLEDELAYEDEXPANSION 

for /F %%i in (File.txt) do (

    set "f1=%%i" 
    if "%f1%"=="%f1:APP_FRA=%" (
    echo Valid - %%i 
) else (

    echo Invalid - %%i 
)) 

=================================== =======

我得到這個輸出總是:

無效 - DVA_UA_ZETAFAXFAXCLI ENT_2014_01-T000

無效 - APP_FRA_WFL_PEL_CIM_DK_ICG_SEPA

無效 - APP_FRA_WFL_PEL_CIM_NO_ICG_SEPA

無效 - DVA_UA_THOMSNONESMRT_57_00-T000

無效 - XSP_XA_LIBREOFFICECFG_50_00

我希望得到任何幫助,您可以提供。

回答

0

既然你創建for循環內的變量,你真的想使推遲擴張,然後用!variable!命名約定您創建的變量,並使用循環內進行互動。

此外,您目前的邏輯說,如果它不包含字符串APP_FRA,這是你的要求了相反的字符串被視爲有效。

@echo off 
setlocal enabledelayedexpansion 

for /F %%i in (File.txt) do (

    set "f1=%%i" 
    if not "!f1!"=="!f1:APP_FRA=!" (
     echo Valid - %%i 
    ) else (
     echo Invalid - %%i 
    ) 
) 
+0

THANK YOU !!! .... your solution works ... +1 knowledge。 :) – g00re