2014-01-23 70 views
0

我有一個文件位於名爲BUIBNESSDATE的C:\ Users \ abc \ Desktop。 文件內容閱讀文件的內容並檢查值是否相同

Updated on : 
Thu Jan 23 04:05:00 IST 2014 
ProfileBusinessDate=23/1/2014 

NucleusBusinessDate=23/01/2014 

我想腳本,它會檢查是否都有相同的日期(ProfileBusi nessDate & NucleusBusinessDate)日期相同。如果兩個日期都相同,那麼腳本應該給出消息,否則NotOk。

該怎麼辦?

回答

0

測試此:

@echo off 
set "file=C:\Users\abc\Desktop\BUIBNESSDATE" 
for /f "tokens=2 delims==" %%a in (' find /i "profile" ^< "%file%" ') do set "p=%%a" 
for /f "tokens=2 delims==" %%a in (' find /i "nucleus" ^< "%file%" ') do set "n=%%a" 

if "%p%"=="%n%" (echo OK) else (echo NotOK) 
0
@ECHO OFF 
SETLOCAL 
SET "ppd=" 
SET "nbd=" 
FOR /f "delims=" %%a IN (q21312106.txt) DO (
SET "line=%%a" 
CALL :process 
) 

IF NOT DEFINED ppd ECHO ProfileBusinessDate missing&GOTO :EOF 
IF NOT DEFINED nbd ECHO NucleusBusinessDate missing&GOTO :EOF 

FOR /f "tokens=1-3delims=/" %%a IN ("%ppd%") DO CALL :slz ppdd %%a&CALL :slz ppdm %%b&CALL :slz ppdy %%c 
FOR /f "tokens=1-3delims=/" %%a IN ("%nbd%") DO CALL :slz nbdd %%a&CALL :slz nbdm %%b&CALL :slz nbdy %%c 

IF "%ppdd%-%ppdm%-%ppdy%"=="%nbdd%-%nbdm%-%nbdy%" (ECHO OK) ELSE (ECHO NotOk) 

GOTO :EOF 

:process 
SET "$1=%line:*ProfileBusinessDate=%" 
IF NOT "%$1%"=="%line%" SET "ppd=%$1:~1%"&GOTO :EOF 
SET "$1=%line:*NucleusBusinessDate=%" 
IF NOT "%$1%"=="%line%" SET "nbd=%$1:~1%"&GOTO :EOF 
GOTO :EOF 

:: suppress a leading 0 

:slz 
SET "$1=%2" 
IF "%$1:~0,1%"=="0" (SET "%1=%$1:~1%") ELSE (SET "%1=%2") 
GOTO :eof 

應該做的任務。我用q21312106.txt與您的數據作爲源文件。

+0

我認爲在日期不匹配是一個錯字,'1'是爲了'01' – foxidrive

+0

@ foxidrive我認爲他們不是 – Magoo

+0

這很明顯。 :)在同一個INI類型文件中,不可能使用兩種不同的日期格式。 – foxidrive

0
@echo off 
    setlocal enableextension disabledelayedexpansion 
    set "pdb=" 
    set "nbd=" 
    for /f "tokens=1,2 delims==" %%a in (
     'findstr /b /l /c:"ProfileBusinessDate=" /c:"NucleusBusinessDate=" "c:\users\abc\desktop\buibnessdate"' 
    ) do (
     if "%%a"=="ProfileBusinessDate" (set "pbd=%%b") else (set "nbd=%%b") 
    ) 

    if "%pdb%"=="%nbd%" ( 
     echo OK 
    ) else ( 
     echo NOT OK 
    ) 

在文件中搜索所需的行,按等號拆分它們,並將值分配給適當的變量。然後檢查兩個變量是否保持相同的內容。