Board logo

标题: [其他] 批处理参数如何处理空格? [打印本页]

作者: jieyuan_1981    时间: 2022-11-11 19:41     标题: 批处理参数如何处理空格?

用 for %%a in (%*) do ...命令时,若文件带空格,命令运行后有问题,用“%*”时也不对,应如何处理空格问题。
作者: Batcher    时间: 2022-11-11 20:05

回复 1# jieyuan_1981


    请把你的测试用例和报错信息发出来看看
作者: jieyuan_1981    时间: 2022-11-11 20:41

本帖最后由 jieyuan_1981 于 2022-11-11 20:44 编辑

回复 2# Batcher


    我是用拖拽的方式,%~d0
cd "%~dp0"
for %%a in (%*) do (
报错 no such file or directory ,我拖一个mp4,结果它把里面文本文件,文件夹,全部文件执行一遍,mp4文件名凡是有空格的都当成文件分开执行。要写成(*.mp4 *.mkv),mkv也要执行,怎么只让mp4执行,并处理好空格。
作者: BAT221110    时间: 2022-11-11 21:56

回复  Batcher


    我是用拖拽的方式,%~d0
cd "%~dp0"
for %%a in (%*) do (
报错 no such file ...
jieyuan_1981 发表于 2022-11-11 20:41



    是哪一行报错呢?可不可以上传完整的一段代码,方便调试。
作者: pd1    时间: 2022-11-11 22:19

for %%a in (%*) do (echo %*)
这样拉带空格的文件是正常的   你具体do  了什么呢
作者: 77七    时间: 2022-11-11 22:31

本帖最后由 77七 于 2022-11-11 22:35 编辑

测试前先备份!!!

代码1
  1. cd %cd%
  2. for %%i in (*.mp4) do (
  3. del %%i
  4. )
复制代码
代码2
  1. cd %cd%
  2. for %%i in (*.mp4) do (
  3. del "%%i"
  4. )
复制代码
楼主差不多是这个意思吧?得加引号




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