[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. set "a=aaaaabbbbbbb ccccccccc"
  3. if "%a%" neq "%a: =%" (echo;true) else echo;false
  4. pause
复制代码

TOP

  1. @echo off
  2. set "a=aaaaabbbbbbbccccccccc"
  3. rem echo;%a%|findstr /c:" "&&echo;ture || echo;false
  4. echo;%a%|find " "&&echo;ture || echo;false
  5. pause
复制代码

TOP

回复 8# gawk

1%a%1这样好点吧

TOP

  1. @echo off
  2. set "str= ab"
  3. >nul 2>&1 set /a #%str%#=1&&echo;false||echo;true
  4. pause
复制代码

TOP

本帖最后由 pcl_test 于 2016-7-29 14:11 编辑

回复 11# dreamer
此法是有局限性的

在cmd窗口分别执行以下命令,看到区别没
set /a a=1
set /a a b=1
set /a a=1 >nul
set /a a b=1 2>nul
原理就是利用set /a会判断算式的合法性
set "str= ab"
set /a #%str%#=1即为set /a # ab#=1
此处#的作用是为了可识别字符串前后的空格,而不是默认分隔符,如set /a              a=1

Set #Var#=123456此处#的仅是变量名中的一个字符
echo,%#Var#%得123456

TOP

回复 13# dreamer
set /a a=1 >nul 理解 重導向至NUL
set /a a b=1 2>nul 理解錯誤時重導向至NUL
那么>nul 2 >&1就是无论正确或错误,返回结果到导向nul,即屏蔽返回的信息
查看
http://www.bathome.net/viewthread.php?tid=2579
http://www.bathome.net/viewthread.php?tid=12553

TOP

返回列表