本帖最后由 踏沙行 于 2018-11-7 16:43 编辑
- @echo off
- echo,H:\2.txt内容为:
- type H:\2.txt
- echo,
- echo,==========
- for /f "tokens=*" %%a in (H:\2.txt) do (
- echo,原型=%%a
- echo,还原="%%~a"
- call :lp "%%~a"
- echo,---------
- )
- pause
-
- :lp
- echo;形参=%~1
- goto:eof
复制代码 结果为:- H:\2.txt内容为:
- "Hello1 and hello2"
- World1 and world2
- ==========
- 原型="Hello1 and hello2"
- 还原="Hello1 and hello2"
- 形参=Hello1 and hello2
- ---------
- 原型=World1 and world2
- 还原="World1 and world2"
- 形参=World1 and world2
- ---------
- 请按任意键继续. . .
复制代码 【问题】
通过call 调用标签时,对于参数中的引号、括号该怎么处理,才能保证原汁原味的传递过去?
如果参数不加引号,则其中的空格会将参数分拆为多个参数
如果加上引号,则使用%~后,会把原本已有的引号脱掉。
请问:怎么让原文内容不加任何修改的传递到子程序中,即使其中有引号,也不要脱去 |