热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

将控制台输出写入文件-文件意外为空

如何解决《将控制台输出写入文件-文件意外为空》经验,为你挑选了1个好方法。

我是脚本新手,我正尝试将有关VM的返回信息写到文本文件中。我的脚本如下所示:

Connect-VIServer -Server 192.168.255.255 -Protocol https -User xxxx -Password XXXXXX

Get-VM -Name xxxxxx 

Get-VM xxxxx | Get-HardDisk | Select Parent, Name, Filename, DiskType, Persistence | FT -AutoSize 

Out-File -FilePath C:Filepath

我能够连接到VM,检索HDD信息并在控制台中看到它。该文件将在需要的位置创建并正确命名。文件中没有数据。我尝试过Tee-Object,结果相同。我也尝试了-append开关。我确实看到了有关将数据作为数组返回的文章,而Powershell无法将数据从数组移至字符串。我是否需要创建一个变量来保存返回的数据并从那里写入文件?

谢谢



1> mklement0..:

Guenther Schmitz的回答很有效,但是值得解释一下原因:

Out-File -FilePath C:Filepath是一个接收任何输入的独立命令。

Out-File没有输入的调用只会创建一个空文件0字节)。

为了使cmdlet Out-File能够从其他命令接收输入(...如下所示),必须使用管道,这意味着您必须|在输入命令之后放置a 并跟随其Out-File调用:
请注意,我-Path为不太常用的[1]使用了较短的参数别名-FilePath

... | Out-File -Path C:Filepath

在最简单的情况下,如上所述,将整个命令(管道)放在同一行上;如果您希望将其分布在多行以提高可读性,则有两种选择:

在后面紧接换行符|,这告诉PowerShell命令在下一行继续:

... |
  Out-File -Path C:Filepath

用显式的行连续结尾,这意味着将其放置`在行的最末端

... `
| Out-File -Path C:Filepath

另外,由于您使用的Out-File是默认行为,因此可以使用>输出重定向来代替:

... > C:Filepath

几个方面:

Out-File与字符串以外的其他东西一起使用,以及Format-*通常使用cmdlet,这意味着输出仅适合显示(人类消耗),不适用于进一步的程序处理

如果你想输出发送到两个控制台一个文件,使用Tee-Object小命令,如TobyU建议:

... | Tee-Object -Path C:Filepath


[1]严格来说,-LiteralPath在这种情况下是最好的选择,因为-Path它将其参数解释为通配符表达式。但是,省略-Path(即通常将文件路径指定为位置参数)隐式绑定到-Path


推荐阅读
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 开源Keras Faster RCNN模型介绍及代码结构解析
    本文介绍了开源Keras Faster RCNN模型的环境需求和代码结构,包括FasterRCNN源码解析、RPN与classifier定义、data_generators.py文件的功能以及损失计算。同时提供了该模型的开源地址和安装所需的库。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 本文介绍了Composer依赖管理的重要性及使用方法。对于现代语言而言,包管理器是标配,而Composer作为PHP的包管理器,解决了PEAR的问题,并且使用简单,方便提交自己的包。文章还提到了使用Composer能够避免各种include的问题,避免命名空间冲突,并且能够方便地安装升级扩展包。 ... [详细]
author-avatar
缘来是你2502855331
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有