Board logo

标题: [文本处理] 批处理for循环要处理的文件的名字带空格 [打印本页]

作者: wnc1988    时间: 2009-9-22 00:41     标题: 批处理for循环要处理的文件的名字带空格

我有一文本2 3.txt(中间是个空格)。拖到批处理上出错了
@echo off
for /f "delims=" %%i in ("%~nx1") do (
echo %%i & pause
)
注意是要求拖到批处理上。也就是说文件名是未知的,可能含空格,也可能没。
作者: januapr    时间: 2009-9-22 05:53

  1. @echo off
  2. for /f "usebackq delims=" %%i in ("%~1") do echo %%i
  3. pause
复制代码
参数:usebackq
请参看贴子:http://www.bathome.net/thread-2189-1-1.html  四楼的第六点:(六)如何决定该使用 for /f 的哪种句式?(兼谈usebackq的使用)
作者: wnc1988    时间: 2009-9-22 09:27

谢谢了,不过%~1是什么意思
作者: keen    时间: 2009-9-22 09:30     标题: 回复 3楼 的帖子

%1就是参数1,%~1就是去掉引号的参数1。


作者: 随风    时间: 2009-9-22 09:49

原帖由 keen 于 2009-9-22 09:30 发表
%1就是参数1,%~1就是去掉空格的参数1。


%~1 是去掉引号的参数1,楼上写错了吧..
作者: keen    时间: 2009-9-22 10:08     标题: 回复 5楼 的帖子

笔误,感谢指正,已修改。




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