Powershell ISE似乎与交互式命令挂起。

时间:2009-11-20 20:39:15

标签: powershell-v2.0

我刚刚下载了Powershell 2.0,我正在使用ISE。总的来说我真的很喜欢它,但我正在寻找一个解决方法。有很多遗留命令是交互式的。例如,如果要求用户覆盖文件,xcopy将默认提示用户。

在Powershell ISE中,这似乎挂起

mkdir c:\tmp                                                                                       
cd c:\tmp                                                                                          
dir > tmp.txt                                                                                      
mkdir sub                                                                                          
xcopy .\tmp.txt sub # fine
xcopy .\tmp.txt sub # "hang" while it waits for a user response.

第二个xcopy提示用户允许覆盖 C:\ tmp \ sub \ tmp.txt ,但提示不会显示在ISE输出窗口中。 我可以从cmd.exe运行这个很好但是ISE有什么用?我怎么知道什么时候需要哪一个?

2 个答案:

答案 0 :(得分:5)

简而言之,ISE不支持交互式控制台应用程序(请参阅下面的链接)。作为一种解决方法,您可以通过首先使用测试路径检查文件是否存在来“防止”复制项覆盖文件。

http://blogs.msdn.com/powershell/archive/2009/02/04/console-application-non-support-in-the-ise.aspx

答案 1 :(得分:1)

为什么要使用PowerShell ISE的XCOPY?请改用Copy-Item:

Copy-Item -Path c:\tmp\tmp.txt -Destination c:\tmp\sub

除非现有文件是隐藏的,系统的或只读的,否则它将覆盖任何现有文件而不发出警告。如果您也想覆盖它们,可以添加-force参数。

有关详细信息,请参阅PowerShell ISE帮助文件中的“使用文件和文件夹”主题,或查看MSDN处的所有命令。