大家好,我正在尝试将多个变量添加到一个变量中。
ET CA1="C:/Users/"
SET CA2=Bla
SET CA3="/New Folder/"
SET CA=%CA1%%CA2:~%%CA3%"
echo %CA%
这是输出
"C:/Users/"Bla"/New Folder/"
当我这样做时,"
无论我做什么,我总是在中间得到双引号。我尝试使用 :~1,-1%" 来删除最后一个字符,但输出只是中间的 "l"。
我想要存档的“最终产品”是通过提示询问用户名并将字符串用于其他内容。这是我能想到的最好的(当然不是最好的)。添加 3 个不同的变量以获得正确的路径。
是否有另一种方式来拥有这样的东西:
set /p Username="Insert Username" -> pete for example
set CA="C:/Users/%CA%/New Folder/"
echo %CA%
输出:
"C:/Users/pete/New Folder/"
根据你的第一个例子试试这个:
@echo off
SET "CA1=C:/Users/"
SET "CA2=Bla"
SET "CA3=/New Folder/"
SET "CA=%CA1%%CA2:~%%CA3%"
echo "%CA%"
pause
这只是回声的:
"C:/Users/Bla/New Folder/"
请注意,将引号移到变量名之前,而不是之后 =
在第二部分,您需要用户输入。有2种方法:
用户输入法
set /p "myuser=Insert Username: "
set "CA=C:/Users/%myuser%/New Folder/"
echo "%CA%"
pause
或从环境中获取名称。
@echo off
set "CA=C:/Users/%username%/New Folder/"
echo "%CA%"
pause
注意,第二种方法%username%
从环境中获取当前登录用户的变量,并自动设置它。
最后,一些提示。始终使用help
fromcmd.exe
查找相关命令 将每个命令与/?
开关一起使用可获取有关其功能的更多信息。IEset /?
此外,永远不要修改现有的环境变量。例如在您的示例set /p Username="Insert Username..
%username% is already an existing environment variable, rather create something unique like
mysername`
为了测试这个,简单的 do fromcmd.exe
echo %username%
并了解它从哪里得到它,只需运行set
以显示环境变量。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句