我想通过批处理文件打开特定路径。我想在运行时传递路径中的一个节点。如果我输入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
答案 0 :(得分:1)
您的代码中存在以下问题:
=
命令的变量名和set
符号之间有一个 SPACE ,因此它成为变量名的一部分;因此变量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
不需要,但如果缺少""
,许多其他命令无法处理包含空格的路径。
要使用第一个命令行参数而不是用户输入,请删除set
命令并将%input%
替换为%~1
。 ~
可确保删除任何周围的引号。在命令提示符中键入call /?
以获取有关此内容的详细信息。
答案 1 :(得分:0)
您是说要像这样运行批处理文件。
C:\>mybatch.bat Google
如果是这样,那么您的批处理文件只会更改为此。
@echo off
echo test variables
echo C:\Program Files (x86)\%1\Common
cd C:\Program Files (x86)\%1\Common
pause