2012-02-21 63 views
1

我有一個腳本,我需要使用類似於this(布爾測試「是否存在字符串?」)的測試。在手冊中的例子中,使用了正常的%變量%,但我有Enabled Delayed Expansion。在我的代碼中,我需要從!行中刪除%pdf%! 。 我的目的是做類似像link(例如,SET _endbit,在使用%變量%)如何從!行替換%pdf%!批處理

這裏是我的代碼:

@echo off 
setlocal EnableDelayedExpansion 
set "source=GEN 0 GENERAL.html" 
set "pdf=0_1_en.pdf" 
echo In file:%source% 
echo Look for anchor:%pdf% 

rem Process each line in %source% file: 
for /F "usebackq delims=" %%c in ("%source%") do (
    set "line=%%c" 
    rem Test if the line contain a pdf file I look for 

    echo on 
    cls  
    echo Line: !line! 
    REM PROBLEM HERE WITH VARIABLE !line! ? Need to replace %pdf% in !line! 
    CALL SET "pdfline=%%line:%pdf%=%%" 

    if not "!pdfline!" == "!line!" (
     echo Line: !line! 
     CALL SET tagline=%%tagline:%pdf%=%% 
     echo ACTUAL LINE: %tagline% 
     pause 
    ) 
) 
pause 

的關鍵是在第17行,在那裏我想要從變量中刪除PDF文件。你能幫我嗎?

腳本在html文件中搜索某些文本。文本被設置爲pdf文件名。如果你願意,你可以在任何html文件上測試它。

回答

1

如果你想從線路去除%PDF%的值,那麼如果你想從行中刪除文本字符串「%PDF%」,然後用這個

使用

set "pdfline=!line:%pdf%=!" 

set "pdfline=!line:%%pdf%%=!" 
+0

令人驚歎!非常感謝你。 – user1141649 2012-02-21 13:10:46