大家好我试图将多个变量添加到一个。
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/"
答案 0 :(得分:1)
根据你的第一个例子,试试这个:
@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/"
请注意,您将引号移至变量名称之前,而不是=
在第二部分,您需要用户输入。有两种方法:
用户输入法
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
中的cmd.exe
来查找相关命令
将每个命令与/?
开关一起使用可获得有关它的更多信息。即set /?
此外,永远不要修改现有的环境变量。例如,在您的示例set /p Username="Insert Username..
%username% is already an existing environment variable, rather create something unique like
mysername`
要对此进行测试,请从cmd.exe
echo %username%
进行简单操作并了解它的来源,只需运行set
即可显示环境变量。