批处理文件以设置PowerShell变量

Ars*_*nFG 0 variables powershell batch-file

由于某种原因,我根本无法理解大多数解释此问题的网站。因此,我将尝试在这里提问,如果我在错误的位置,请在评论中告诉我,然后将其放在另一个论坛中并删除此问题。

假设我有2个文件,Batch.batPowerShell.ps1

Batch.bat:

set A="ThisIsSuchVar!"
Run Code Online (Sandbox Code Playgroud)

PowerShell.ps1:

$B = "Well, i don't know what to do here"
Run Code Online (Sandbox Code Playgroud)

我该如何做与B变量相同的A变量?

记住:我希望Batch变量进入PowerShell文件。这是一种单向脚本。我想使用内置的Windows源。而且,请考虑一下我是编程方面的新手,而且英语说得不太好,所以请尽可能简单一些。

Adi*_*vin 5

在您的批处理文件中run.bat,设置环境变量A并运行PowerShell脚本:

set A=8
PowerShell.exe -File .\script.ps1
pause
Run Code Online (Sandbox Code Playgroud)

在中script.ps1,获取环境变量A,并将其值分配给B

$B=$Env:A
echo $B
Run Code Online (Sandbox Code Playgroud)

运行时,run.bat您会得到:

C:\Temp\try>set A=8

C:\Temp\try>PowerShell.exe -File .\script.ps1
8

C:\Temp\try>pause
Press any key to continue . . .
Run Code Online (Sandbox Code Playgroud)