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


  
  1. for %%a in (1 2 *xx ?xx 5) do echo %%a
复制代码
含有通配符,*?,又没有通配到文件,自然就消失了。
bat小白,请多指教!谢谢!

TOP

回复 53# ppll2030


   50楼大佬已经给出答案了。如果没有其它特殊字符,只有通配符,也可以试试以下思路(老帖子看到的),将行变成竖排
  1. @echo off
  2. set "str=1  2 3 *  ?    "
  3. set "str=%str: =&echo;%"
  4. for /f %%a in ('echo %%str%%') do (
  5. echo [%%a]
  6. )
  7. pause
复制代码
bat小白,请多指教!谢谢!

TOP

本帖最后由 77七 于 2024-7-23 15:52 编辑

回复 57# ppll2030


   
去掉就行,提供两种方法...
  1. @echo off
  2. set "str=    1  2 3 *  ?    "
  3. set "str=x %str%"
  4. set "str=%str: =&echo;%"
  5. for /f "skip=1" %%a in ('echo %%str%%') do (
  6. echo [%%a]
  7. )
  8. pause
  9. for /f "tokens=*" %%a in ("    1  2 3 *  ?    ") do (
  10. set str=%%a
  11. if defined str (
  12. call set "str=%%str: =&echo;%%"
  13. for /f %%a in ('call echo %%str%%') do (
  14. echo [%%a]
  15. )
  16. )
  17. )
  18. pause
复制代码
bat小白,请多指教!谢谢!

TOP

返回列表