繁体   English   中英

将字符串参数作为运行时参数传递

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM