【发布时间】:2021-01-16 05:59:05
【问题描述】:
我正在尝试使用 powershell 获取已连接的 android 设备的根文件夹,当我在 cmd 中尝试执行此操作的标准命令时,它会按预期工作并返回路径。
CMD
adb -s <DeviceId> shell echo $EXTERNAL_STORAGE
当我尝试在 powershell 中复制此命令时,我什至没有收到任何错误消息。
PowerShell
Invoke-Expression -Command "adb -s <DeviceId> shell echo $EXTERNAL_STORAGE" | Out-String
我已经搜索了一些解决方案,并找到了一种使其在 powershell 中工作的方法,但我想知道它们是否是另一种无需在 powershell 中调用 cmd.exe 即可获得相同结果的方法
可以使用 PowerShell,但看起来很笨拙
(cmd.exe /c adb -s $Id shell echo `$EXTERNAL_STORAGE) | Out-String
【问题讨论】:
-
仅供参考...知道不建议使用此 cmdlet:请参阅:'invoke-expression is evil'
-
Running exteranl command use PowerShell 有据可查。请参阅:• PowerShell: Running Executables 另请参阅:• about_Command_Precedence
-
Invoke-Expression不需要完成此操作。
标签: powershell shell cmd adb