Board logo

标题: [文本处理] [已解决]批处理命令if如何判断变量为英文双引号? [打印本页]

作者: freesoft00    时间: 2016-3-25 09:36     标题: [已解决]批处理命令if如何判断变量为英文双引号?

本帖最后由 freesoft00 于 2016-3-25 20:37 编辑
  1. @echo off
  2. for /f "delims=" %%i in (1.txt) do (
  3. set "ww=%%i"
  4. setlocal enabledelayedexpansion
  5. set ww=!ww:~0,1!
  6. if /i "!ww!"==""" echo %%i
  7. endlocal
  8. )
复制代码
一个文本,如果它的开头是“双引号开头的就显示。否则显示为echo 222%%i

应该如何写呢?上面的代码肯定不对,我把if /i "!ww!"=="""改为if /i "!ww!"=="^""也不对。
要求文本原样输出不丢失文本行,空行保留不保留无所谓。
作者: happy886rr    时间: 2016-3-25 13:40

删掉几个引号就行
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in (1.txt) do (
  3. set "ww=%%i"
  4. set ww=!ww:~0,1!
  5. if /i !ww!==^" echo %%i
  6. )
  7. pause
复制代码
回复 1# freesoft00
作者: CrLf    时间: 2016-3-25 15:33

"!ww!"==^"""

"!ww!!ww!"==""""
作者: WHY    时间: 2016-3-25 16:56

  1. @echo off
  2. for /f "delims=" %%i in (a.txt) do (
  3.     if not "%%~i" == "%%i" (echo %%i) else echo 222%%i
  4. )
  5. pause
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2