Invoke-Expression 执行外部程序和 shell 脚本
Invoke-Expression executing external program and shell script
我正在尝试使用 powershell 获取连接的 android 设备的根文件夹,当我在 cmd 中为此尝试标准命令时,它按预期工作并且 returns 路径.
CMD
adb -s <DeviceId> shell echo $EXTERNAL_STORAGE
当我尝试在 powershell 中复制此命令时,我什么也没得到,甚至连错误都没有。
PowerShell
Invoke-Expression -Command "adb -s <DeviceId> shell echo $EXTERNAL_STORAGE" | Out-String
我已经搜索了一些解决方案并找到了一种使其在 powershell 中工作的方法,但我想知道它们是否是另一种无需在 powershell[=14] 中调用 cmd.exe 即可获得相同结果的方法=]
可以使用 PowerShell,但看起来很笨拙
(cmd.exe /c adb -s $Id shell echo `$EXTERNAL_STORAGE) | Out-String
也许:
$Result = & adb "-s $Id shell echo `$EXTERNAL_STORAGE" | Out-String
只需指定命令as-is。
$Result = & adb -s $Id shell echo `$EXTERNAL_STORAGE
Write-Host $Result
我正在尝试使用 powershell 获取连接的 android 设备的根文件夹,当我在 cmd 中为此尝试标准命令时,它按预期工作并且 returns 路径.
CMD
adb -s <DeviceId> shell echo $EXTERNAL_STORAGE
当我尝试在 powershell 中复制此命令时,我什么也没得到,甚至连错误都没有。
PowerShell
Invoke-Expression -Command "adb -s <DeviceId> shell echo $EXTERNAL_STORAGE" | Out-String
我已经搜索了一些解决方案并找到了一种使其在 powershell 中工作的方法,但我想知道它们是否是另一种无需在 powershell[=14] 中调用 cmd.exe 即可获得相同结果的方法=]
可以使用 PowerShell,但看起来很笨拙
(cmd.exe /c adb -s $Id shell echo `$EXTERNAL_STORAGE) | Out-String
也许:
$Result = & adb "-s $Id shell echo `$EXTERNAL_STORAGE" | Out-String
只需指定命令as-is。
$Result = & adb -s $Id shell echo `$EXTERNAL_STORAGE
Write-Host $Result