作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有一个 Windows 命令行提示符:
for /F %i in ('dir /s /b D:\MyDirectory\filepath\File.xml') do (C:\progra~1\xmlstarlet\xml.exe ed --inplace -d "//xmlTag[data/url[contains(text(),'shop.companyname')]]" %i)
100 多个目录之一的路径中包含空格,并且此行在该目录上失败。必须保留名称。
尝试将 delims
选项更改为 ^n
,但在多个目录上失败。
还尝试了%~dp0
但不理解语法,以及“%~dp0\File.xml”
,这给了我“找不到指定的文件” ”。
如何让 Windows 解析带有空格的该行?是否有 delims=[not space?]
选项?
最佳答案
要在for循环
中使用dir
扫描文件夹,您必须使用"delims="
,因为默认的delims
是空格
。
for /f "delims=" %i in ('dir /s /b "D:\MyDirectory\filepath\*.xml"') do @( echo "%~i" )
我更新了示例,%i
现在用双引号引起来。因此,您的外部软件将被视为单个参数
如@aschipfl所述,您可以更改为“%~i”
。请参阅 call/?
或 for/?
- 示例已更新
关于batch-file - For 循环解析路径中带有空格的文件,命令提示符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33026743/
我是一名优秀的程序员,十分优秀!