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-

 

如果参数带有空格的话,很简单,只要

  • 用在代码里括号将参数变量括起来
  • 将传入的参数用双引号括起来

REM======================================
@echo off

REM batch script: demo.bat

If not (%1) == () Goto Run
Echo usage: demo.bat [first argument]
Goto End

:Run
Echo %1

:End
REM======================================

Batch脚本:如何传入带有空格或者引号的参数

posted @ 2015-05-13 14:12  alxe_yu  阅读(773)  评论(0)    收藏  举报