[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

批处理set命令如何理解?

set input=:

set /p input=


set "input=%input:"=%"


在本论坛看见了这样的代码,请问第三句怎么解释? 我搞不清楚这一句怎么断句的???在我看来是 %乱加,?"" 号乱加!?
急!

首先你的写法错误。
这种方法只对变量中含有引号的起作用。也就是变量中必须含有至少一个引号才行,否则语法错误
这句语句的作用是:
去掉变量第一个引号及它前面的全部内容和去掉最后一个引号及它后面的全部内容,
若变量中只有一个引号,则去除引号及其前面的所有内容,若变量中没有引号,则语法错误。
见下面三个实例:
:
  1. @echo off
  2. set var=1"234"5
  3. echo %var%
  4. %var:*"=set "var=%
  5. echo %var%
  6. pause>nul
  7. echo.
  8. set var=1"2345
  9. echo %var%
  10. %var:*"=set "var=%
  11. echo %var%
  12. echo.
  13. pause>nul
  14. set var=12345
  15. echo %var%
  16. %var:*"=set "var=%
  17. echo %var%
  18. pause>nul
复制代码
技术问题请到论坛发帖求助!

TOP

去掉变量第一个引号及它前面的全部内容和去掉最后一个引号及它后面的全部内容,
若变量中只有一个引号,则去除引号及其前面的所有内容,若变量中没有引号,则语法错误。

学到,但不知道为什么没有引号的时候会出错。

TOP

返回列表