2015-07-01 184 views
1

有一个名为doctitle.txt的文件,其中包含标题。我想用这个标题来重命名另一个文件,目前命名file.pdf,所以我所做的:批处理脚本用变量名称(带空格)重命名文件

for /f "delims=" %%x in (doctitle.txt) do set "DOCTITLE=%%x" 
move file.pdf %DOCTITLE%.pdf 

这工作得很好,如果在标题字符串没有空间,即“DOCUMENTTITLE”。但如果标题中有空格,即“文档标题”,则失败。

可以做些什么来克服这个问题?

回答

1

尝试:

for /f "tokens=*" %%x in (doctitle.txt) do set DOCTITLE=%%~x 
move file.pdf "%DOCTITLE%.pdf" 

这样一来,可变DOCTITLE将不会被引号包围的%%~删除任何报价。

报价for /?

%~I   - expands %I removing any surrounding quotes (") 
+0

比方说,标题是“巴西莓”,那么,我想用“阿萨伊”代替(替换口音)。可能吗? – oqrxke

+0

@oqrxke我不完全确定,但问它作为一个不同的问题,以便其他人可以帮助 – Monacraft

+0

谢谢!我在这里发布了一个新问题http://stackoverflow.com/questions/31195236/batch-scritp-to-replace-accents-in-words。 – oqrxke