在IIS上,批处理文件变量似乎不起作用。

时间:2013-06-12 15:22:06

标签: batch-file command-prompt

我正在使用以下内容为安装程序构建虚拟目录:

echo "Current Drive: %~d1"
set /p var cdr="Enter Install Directory "
cd %windir%\system32\inetsrv
appcmd add vdir /app.name:"Default Web Site/" /path:/cms /physicalPath:"%cdr%:\websites\cms"

如果我手动输入驱动器号而不是使用cdr一切正常。我遇到的问题是没有任何东西在显示。包括%~d1为空即使设置后cdr也为空。

我猜我在这里完全遗漏了一些东西,但我不知道是什么。

1 个答案:

答案 0 :(得分:3)

这有两个变量名。

set /p var cdr="Enter Install Directory "

试试这个:

set /p "cdr=Enter Install Directory "

你的意思是这样吗,顺便问一下? %~d1使用命令行中的第一个参数。

echo "Batch file is on Drive: %~d0"

这将为您提供当前的驱动器:

echo "The current drive letter is %cd:~0,1%"