如何从批处理文件打印powershell命令?

如何从批处理文件打印powershell命令?,powershell,batch-file,Powershell,Batch File,我正在尝试打印到文件的powershell命令。 该文件位于网络目录中。 这是我的代码: @echo off break> \\90.0.0.209\Britannica\backup\Maor_Tests \\90.0.0.209\Britannica\backup echo wmic computersystem get PrimaryOwnerNAME, model >> \\90.0.0.209\Britannica\backup\Maor_Tests\Test.

我正在尝试打印到文件的powershell命令。 该文件位于网络目录中。 这是我的代码:

@echo off

break> \\90.0.0.209\Britannica\backup\Maor_Tests \\90.0.0.209\Britannica\backup

echo 
wmic computersystem get PrimaryOwnerNAME, model >> \\90.0.0.209\Britannica\backup\Maor_Tests\Test.txt

wmic bios get serialnumber >> \\90.0.0.209\Britannica\backup\Maor_Tests\Test.txt

wmic cpu get name >> \\90.0.0.209\Britannica\backup\Maor_Tests\Test.txt 

systeminfo | findstr C:"OS Name" >> \\90.0.0.209\Britannica\backup\Maor_Tests\Test.txt

REM When I try to execute this command, I get gibbersh text only on that command.
PowerShell Get-PhysicalDisk | Format-Table -AutoSize | \\90.0.0.209\Britannica\backup\Maor_Tests\Test.txt     

@pause

如何将该批处理文件中的命令打印到文件中?

最后一行请尝试以下操作:

PowerShell Get-PhysicalDisk | Out-String | Add-Content '\\90.0.0.209\Britannica\backup\Maor_Tests\Test.txt'
不过脚本有点乱,就像其他人说的那样,为什么不在PowerShell中完成呢?类似的内容将为您提供更整洁的输出(请注意,这是纯Powershell,不能按原样放在CMD文件中,但应放在.ps1中):

生成的文本文件的外观:

Name   : LABWORKSTATION
OS     : Microsoft Windows 10 Pro
Model  : All Series
Owner  : Microsoft
CPU    : Intel(R) Core(TM) i5-4670K CPU @ 3.40GHz
S/N    : System Serial Number
Disk 0 : NVMe Samsung SSD 960, Size: 500GB
Disk 1 : Samsung SSD 840 EVO 500GB, Size: 500GB

最后一行请尝试以下操作:

PowerShell Get-PhysicalDisk | Out-String | Add-Content '\\90.0.0.209\Britannica\backup\Maor_Tests\Test.txt'
不过脚本有点乱,就像其他人说的那样,为什么不在PowerShell中完成呢?类似的内容将为您提供更整洁的输出(请注意,这是纯Powershell,不能按原样放在CMD文件中,但应放在.ps1中):

生成的文本文件的外观:

Name   : LABWORKSTATION
OS     : Microsoft Windows 10 Pro
Model  : All Series
Owner  : Microsoft
CPU    : Intel(R) Core(TM) i5-4670K CPU @ 3.40GHz
S/N    : System Serial Number
Disk 0 : NVMe Samsung SSD 960, Size: 500GB
Disk 1 : Samsung SSD 840 EVO 500GB, Size: 500GB

混合使用CMD、exe文件和powershell有什么原因吗?没有,只需要这些信息。只有使用powershell命令,我才能成功获取该信息。如果有任何选项可以使用cmd命令获取该信息,那就更好了。为什么要管道化结果表?这就是您试图将其写入文本文件的方式吗?您是否已打开PowerShell窗口并尝试直接获取物理磁盘格式表-AutoSize | \\90.0.0.209\Britannica\backup\Maor\u Tests\Test.txt以确保其正常工作。顺便说一句,您的每一个命令都可以改进,我建议您只需在PowerShell中执行。每个命令在我的本地pc上都可以正常工作。但是在网络目录中,我收到一条错误消息。@MaorAzulay-您需要关于驱动器的什么信息?实际的物理驱动器,逻辑驱动器?需要什么样的细节?//我这样问是因为你这样做很让人困惑。如果您使用ps5.1或更高版本运行win10,您可以从
get ComputerInfo
获得几乎所有需要的信息。是否有混合使用CMD、exe文件和powershell的原因?不,只需要这些信息。只有使用powershell命令,我才能成功获取该信息。如果有任何选项可以使用cmd命令获取该信息,那就更好了。为什么要管道化结果表?这就是您试图将其写入文本文件的方式吗?您是否已打开PowerShell窗口并尝试直接获取物理磁盘格式表-AutoSize | \\90.0.0.209\Britannica\backup\Maor\u Tests\Test.txt以确保其正常工作。顺便说一句,您的每一个命令都可以改进,我建议您只需在PowerShell中执行。每个命令在我的本地pc上都可以正常工作。但是在网络目录中,我收到一条错误消息。@MaorAzulay-您需要关于驱动器的什么信息?实际的物理驱动器,逻辑驱动器?需要什么样的细节?//我这样问是因为你这样做很让人困惑。如果您使用ps5.1或更高版本运行win10,您几乎可以从
get ComputerInfo
中获得所需的所有信息。@MaorAzulay您确实了解这需要在Powershell中运行,而不是在cmd.exe中运行,对吗?您得到的确切信息是什么。发布一些输出,让我们看看发生了什么。型号PrimaryOwnerName HP EliteBook 840 G5*******序列号XXXXXXXXX名称Intel(R)Core(TM)i5-8350U CPU@1.70GHz潈瑳丠浡㩥††††††††䜠䱏䑁ഴ伊⁓慎敭›†††††††††楍牣獯景⁴楗摮睯⁳〱䔠瑮牥牰獩൥. powershell命令的最后一行@PMental@MaorAzulay您知道这需要在Powershell中运行,而不是在cmd.exe中运行,对吗?您得到的是什么“乱七八糟的文本”。发布一些输出,让我们看看发生了什么。型号PrimaryOwnerName HP EliteBook 840 G5*******序列号XXXXXXXXX名称Intel(R)Core(TM)i5-8350U CPU@1.70GHz潈瑳丠浡㩥††††††††䜠䱏䑁ഴ伊⁓慎敭›†††††††††楍牣獯景⁴楗摮睯⁳〱䔠瑮牥牰獩൥. powershell命令@PMental的最后一行