从PowerShell脚本执行CMD命令
我见过许多类似的问题,但没有一个与从PS脚本(.ps1)执行CMD命令相关,例如从PowerShell脚本执行CMD命令,powershell,windows-scripting,Powershell,Windows Scripting,我见过许多类似的问题,但没有一个与从PS脚本(.ps1)执行CMD命令相关,例如ipconfig 如果您在PS控制台上键入这些命令,它们可以正常工作,但在脚本上则不行,下面您可以看到一个示例: PS C:\Users\TestQro> adb devices List of devices attached PS C:\Users\TestQro> adb devices | Select-String -Quiet List True 我应该如何在脚本中键入普通CMD命令? 为什么它正在等待
ipconfig
如果您在PS控制台上键入这些命令,它们可以正常工作,但在脚本上则不行,下面您可以看到一个示例:
PS C:\Users\TestQro> adb devices
List of devices attached
PS C:\Users\TestQro> adb devices | Select-String -Quiet List
True
我应该如何在脚本中键入普通CMD命令?
为什么它正在等待脚本上的参数,但在控制台中它工作正常?您所指的CMD命令实际上是
窗口
或系统32
文件夹(或其他一些路径
环境变量路径)中的可执行文件。因此,您可以像调用任何可执行文件一样使用调用运算符调用它们:
您所指的CMD命令实际上是
Windows
或System32
文件夹(或其他一些PATH
环境变量路径)中的可执行文件。因此,您可以像调用任何可执行文件一样使用调用运算符调用它们:
基于你在那里的输出
PS C:\TesterInfo> ./TunnerApp.ps1
cmdlet Write-Output at command pipeline position 1
Supply values for the following parameters: InputObject[0]:
看起来您的PowerShell脚本中有一个
Write Output
语句,它没有任何输入。根据您的输出,在某处查找空的Write Output
语句
PS C:\TesterInfo> ./TunnerApp.ps1
cmdlet Write-Output at command pipeline position 1
Supply values for the following parameters: InputObject[0]:
看起来您的PowerShell脚本中有一个
Write Output
语句,它没有任何输入。请在某处查找空的Write Output
语句以获取有关不工作代码的帮助:显示不工作的代码。您好,感谢您的帮助。代码只有这一行:“adb设备|选择字符串-安静列表”,然后请尝试从CMD窗口(PowerShell.exe-NoExit-NoProfile
)启动一个干净的PowerShell实例,并从那里运行脚本。您仍然会收到相同的提示吗?对于不起作用的代码的帮助:显示不起作用的代码。您好,谢谢您的帮助。代码只有这一行:“adb设备|选择字符串-安静列表”,然后请尝试从CMD窗口(PowerShell.exe-NoExit-NoProfile
)启动一个干净的PowerShell实例,并从那里运行脚本。您仍然收到相同的提示吗?只要文件名或路径中没有空格,外部命令可以作为裸字调用,而无需使用call运算符ipconfig
、和ipconfig
以及和“ipconfig”
都应该这样做。只要文件名或路径中没有空格,外部命令可以作为裸字调用,而无需使用调用运算符ipconfig
、&ipconfig
、以及和“ipconfig”
都应该执行相同的操作。您好,感谢您的帮助,但脚本中的唯一一行与您在控制台中看到的相同,因此我不知道为什么脚本中需要参数,而不是键入时需要参数:adb设备|选择字符串-安静List@JorgeAlbertoDiaz我懂了,也许可以尝试将adb设备管道输出到一个文件,然后获取该文件的输出并搜索您的值<代码>adb设备>C:\temp\adb.txt$devices=获取内容C:\temp\adb.txtHi,感谢您的帮助,但脚本中的唯一一行与您在控制台中看到的相同,因此我不知道为什么脚本中需要参数,而不是键入时需要参数:adb设备|选择字符串-安静List@JorgeAlbertoDiaz我懂了,也许可以尝试将adb设备管道输出到一个文件,然后获取该文件的输出并搜索您的值<代码>adb设备>C:\temp\adb.txt$devices=获取内容C:\temp\adb.txt
PS C:\TesterInfo> ./TunnerApp.ps1
cmdlet Write-Output at command pipeline position 1
Supply values for the following parameters: InputObject[0]: