亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

批處理文件:查找子字符串是否在字符串中(而不是在文件中)

批處理文件:查找子字符串是否在字符串中(而不是在文件中)

天涯盡頭無女友 2019-10-16 09:09:27
批處理文件:查找子字符串是否在字符串中(而不是在文件中)在批處理文件中,我有一個字符串。abcdefg..我想檢查一下bcd在繩子里。不幸的是,我找到的所有解決方案檔案對于子字符串,而不是用于子字符串的字符串。有什么簡單的解決辦法嗎?
查看完整描述

3 回答

?
ibeautiful

TA貢獻1993條經驗 獲得超6個贊

是的,您可以使用替換并對照原始字符串進行檢查:

if not x%str1:bcd=%==x%str1% echo It contains bcd

這個%str1:bcd=%位將取代bcd在……里面str1使用空字符串,使其與原始字符串不同。

如果原始文件不包含bcd字符串中,修改后的版本將是相同的。

使用以下腳本進行測試將顯示它的作用:

@setlocal enableextensions enabledelayedexpansion
@echo off
set str1=%1
if not x%str1:bcd=%==x%str1% echo It contains bcd
endlocal

以及各種運行的結果:

c:\testarea> testprog hello

c:\testarea> testprog abcdef
It contains bcd

c:\testarea> testprog bcd
It contains bcd

幾個注意事項:

  • 這個

    if

    語句是該解決方案的核心,其他一切都是支持性的。
  • 這個

    x

    前面的兩邊相等是為了確保字符串

    bcd

    工作正常。它還可以防止某些“不適當”的起始字符。



查看完整回答
反對 回復 2019-10-17
?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

我通常會做這樣的事情:

Echo.%1 | findstr /C:"%2">nul && (
    REM TRUE
) || (
    REM FALSE
)

例子:

Echo.Hello world | findstr /C:"world">nul && (
    Echo.TRUE
) || (
    Echo.FALSE
)

Echo.Hello world | findstr /C:"World">nul && (Echo.TRUE) || (Echo.FALSE)

產出:

TRUE
FALSE

我不知道這是不是最好的方法。



查看完整回答
反對 回復 2019-10-17
  • 3 回答
  • 0 關注
  • 677 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號