2016-12-16 136 views
0

我有一個腳本,我正在努力,我需要一些幫助。在這個腳本中,我想查看輸入變量%1%以查看它是否包含特定的字符串。如果有,我想做一件事。如果不是,我希望它做別的事情。輸入變量是一個UNC路徑,我想檢查它是否包含字符串\\server\share,我不希望它是區分大小寫的。有任何想法嗎?檢查輸入的特定字符串

+2

因爲您還沒有根據網站指南提出正確的問題,所以我只想告訴您您正在查看**%1 **而不是**%1%**。 – Compo

回答

2

輸入變量是%1%~1(用波浪符去除周圍的引號)。

有幾種方法可以檢查。您可以使用變量替換子:

@echo off & setlocal 

set "input=%~1" 

if not "%input%"=="%input:specific string=%" (
    rem // input contained the string 
) else (
    rem // input did not contain the string 
) 

的作品是,%input:specific string=%取代的specific string所有實例中%input%什麼方式。所以如果替換前的字符串在替換後不等於字符串,那麼這個變量就包含了你所匹配的內容。 See this page瞭解子串替換的全部細節。您可以使用findfindstr

@echo off & setlocal 

echo(%1 | find /i "some string" && (
    rem // input contained the string 
) || (
    rem // input did not contain the string 
) 

子串替換方法更有效一些。

+0

謝謝。可變子串替換工作完美。還要感謝我的輸入變量的錯誤類型。 –