我刚刚下载了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.
Run Code Online (Sandbox Code Playgroud)
第二个xcopy是提示用户允许覆盖C:\ tmp\sub\tmp.txt,但提示不会显示在ISE输出窗口中.我可以从cmd.exe运行这个很好但是ISE有什么用?我怎么知道什么时候需要哪一个?
简而言之,ISE不支持交互式控制台应用程序(请参阅下面的链接).作为一种变通方法,您可以通过首先使用test-path检查文件是否存在来"防止"复制项覆盖文件.
http://blogs.msdn.com/powershell/archive/2009/02/04/console-application-non-support-in-the-ise.aspx
为什么要使用 PowerShell ISE 中的 XCOPY?使用复制项目代替:
Copy-Item -Path c:\tmp\tmp.txt -Destination c:\tmp\sub
Run Code Online (Sandbox Code Playgroud)
它将覆盖任何现有文件而不发出警告,除非现有文件是隐藏的、系统的或只读的。如果您也想覆盖它们,可以添加该-force参数。
有关详细信息,请参阅 PowerShell ISE 帮助文件中的“使用文件和文件夹”主题,或查看MSDN上的所有命令。
| 归档时间: |
|
| 查看次数: |
2074 次 |
| 最近记录: |