Board logo

标题: [文件操作] 如何处理通配符匹配的文件名包含有空格 [打印本页]

作者: atian    时间: 2017-8-17 13:14     标题: 如何处理通配符匹配的文件名包含有空格

写了个批处理文件调用一个可执行文件来处理同一目录下的多个相同扩展名的文件,但这些文件名包含空格
比如
file 1.txt
file 2.txt

可执行文件为merge.exe
希望通过以下命令来实现,但是发现通配符匹配之后不会给文件名加双引号,导致exe无法找到正确的输入文件
merge.exe "*.txt"

请教有什么办法可以使得在实际调用exe是输入参数也加上双引号么?
作者: Nsqs    时间: 2017-8-17 14:04

并不是所有的外部程序都支持通配符,必须你那个程序本身支持才行
  1. for /f "delims=" %%1 in ('dir /a-d')do merge.exe "%%1"
复制代码

作者: Batcher    时间: 2017-8-17 14:27

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for %%a in (*.txt) do (
  4.     set file=!file! "%%a"
  5. )
  6. merge.exe !file!
复制代码





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