Batch command传入带空格的参数(文件路径等)

批处理的命令行是用空格作为参数分隔符的,遇到带空格的参数的时候就麻烦了,所以我们可以把参数用双引号包起来,但是这样又会引入新的问题,参数也会死死的记住这个引号,当我们拼接路径的时候,就麻烦了,比如 readygo.bat "c:\pro files",批处理文件里面做了这样的处理

set fileName=%1\test.txt

结果就变成了 fileName="c:\pro files"\test.txt

办法很简单:set fileName=%~1\test.txt,这样就去掉了双引号。

注意,某些地方用到fileName的时候,有可能需要你再次包装:"fileName",这个看情况。

这儿讲了很多,http://www.windowsitpro.com/article/server-management/how-do-i-pass-parameters-to-a-batch-file-,但是偏偏没有上述用法,正是智者千虑,必有一失。

 

posted @ 2012-03-09 19:15  KymoWang  阅读(10224)  评论(0编辑  收藏  举报