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