[英]Passing a string parameter as a runtime Argument
我想通过批处理文件打开特定路径。 我想在运行时在路径中传递一个节点。 如果我给输入Google
,我想在这里传递字符串参数。 它将打开道路
want to pass one node in path at run time . if i give input Google.i
want to pass the string argument here. it will open the path
C:\Program Files (x86)\google\Common
我该如何实现?
我的批处理文件:
@echo off
echo test variables
set input =
set /p input ="Choice"
echo C:\Program Files (x86)\%input%\Common
cd C:\Program Files (x86)\"%input%"\Common
pause
您的代码中存在以下问题:
set
命令中,变量名和=
符号之间有一个空格 ,因此它成为变量名的一部分; 因此变量input
保持为空/未定义; cd
命令的路径中有引号,那里是禁止的字符; 这是更正的版本:
@echo off
echo test variables
set "input="
set /p "input=Choice"
echo "C:\Program Files (x86)\%input%\Common"
cd "C:\Program Files (x86)\%input%\Common"
pause
我在cd
命令的路径cd
加上了引号。 尽管对于cd
不是必需的,但是如果缺少""
,许多其他命令将无法处理包含空格的路径。
要使用第一个命令行参数而不是用户输入,请删除set
命令,并将%input%
替换为%~1
。 ~
确保除去所有引号。 输入call /?
在命令提示符下获得有关此内容的详细信息。
您是说要运行这样的批处理文件吗?
C:\>mybatch.bat Google
如果是这样,则您的批处理文件将更改为此。
@echo off
echo test variables
echo C:\Program Files (x86)\%1\Common
cd C:\Program Files (x86)\%1\Common
pause
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.