gpt4 book ai didi

batch-file - 将变量从批处理传递到powershell

转载 作者:行者123 更新时间:2023-12-03 00:24:22 24 4
gpt4 key购买 nike

我有一个批处理文件,要求用户输入变量行set/p asset=。我像这样调用我的powershell脚本

SET ThisScriptsDirectory=%~dp0

SET PowerShellScriptPath=%ThisScriptsDirectory%file.ps

PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& '%PowerShellScriptPath%'";

我想知道如何从批处理文件中向 powershell 发送变量“ Assets ”。

这是我的 .bat 文件内容

@Echo off  
cls
Color E
cls

@echo Enter asset below
set /p asset=

@echo.
@echo your asset is %asset%
@echo.
goto startusmt

:startusmt
@echo.
@echo executing psexec ...
@echo.

SET ThisScriptsDirectory=%~dp0
SET PowerShellScriptPath=%ThisScriptsDirectory%RemoteUSMT.ps1
PowerShell -NoProfile -ExecutionPolicy Bypass -file %PowerShellScriptPath% %asset%
psexec \\%asset% -u domain\username -p password cmd

goto EOF

:EOF
PAUSE

最佳答案

您可以使用 $env:variable_name 语法从 powershell 访问当前的 cmd 环境变量。要获取您的变量,您可以使用 $env:asset
要尝试,打开 cmd,执行 set "myvar=my value",启动 powershell,执行 $env:myvar (这将简单地打印它,但当然你可以将它用作任何其他 ps 变量)

顺便说一句,ps 有很好的帮助系统。如果您执行 help env,它将列出两个相关主题,您可以依次检查这些主题以获取详细信息。

希望对你有帮助

关于batch-file - 将变量从批处理传递到powershell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23156707/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com