如何将单个命令行结果获取到 Windows 批处理 (.bat) 中的变量中?

问题描述 投票:0回答:1

我知道这个问题已经被提出并给出了某种答案,但我没有得到接受答案的适当回报。具体来说,我正在尝试为用户设置其 p4 根目录的任何位置获取一个 src 文件夹。

在命令行中,以下命令返回正确的文件夹:

p4 -F %clientRoot% -ztag info

但是,尝试将返回值分配给批处理文件中的变量一直是地狱。

从这个问题的以前版本中,可接受的答案是使用:

for /f %%i in (p4 -F %%clientRoot%% -ztag info) do set src=%%i

当我尝试

ECHO is off
时,我得到
echo %src%
(在批处理文件的第一行中使用
@echo off
。否则,我会收到一些关于无法获取给定文件信息的 p4 错误。

我可以很容易地设置字符串变量,甚至使用其他环境变量

@echo off
cls

set dst=%USERPROFILE%\Documents\maya\2023\
echo %dst%

给予回报

C:\Users\johnnyBgud\Documents\maya\2023\

但是尝试设置 p4 命令行的返回不会正确回显,我也无法以任何可理解的方式使用它。

set p4root=p4 -F %%clientRoot%% -ztag info
%p4root%

在执行变量时给我想要的目录..但我无法使用它

set src=%p4root%\Development
echo %src%

pause

我得到的回报:

p4 -F %clientRoot% -ztag info\Development\
batch-file command-line perforce
1个回答
0
投票

取消该...在这里找到答案... 如何检索 Windows 批处理文件中的 P4 ROOT 变量值?

问题确实出在我的椅子和键盘之间。

© www.soinside.com 2019 - 2024. All rights reserved.