Powershell / Bat文件合并

时间:2016-01-08 01:51:05

标签: powershell batch-file cmd

在编写Powershell脚本方面,我是一个完全新手,但在编写Bat文件方面有着合理的经验。

我有一个powershell脚本解压缩一个bat,一个reg文件和一个msi,powershell脚本然后启动bat文件,我不认为这是最好的方法,有没有办法得到powershell脚本解压缩然后安装msi和reg文件而不是运行一个单独的bat文件?

以下是2个文件:

BAT:

@echo off

echo Installing Teamviewer, please wait...
msiexec /qn /i "C:\Temp\TeamViewer.msi" /passive
echo[
regedit /s C:\Temp\TeamViewer_Settings.reg
Pause
exit

PS:

$BackUpPath = "C:\Temp\Install.zip"

$Destination = "C:\Temp"

Add-Type -assembly "system.io.compression.filesystem"

[io.compression.zipfile]::ExtractToDirectory($BackUpPath, $destination)

Start-Process "C:\Temp\installer.bat"

有没有办法只运行powershell脚本并提取和安装所需的文件?

非常感谢和善意,这是我的第一个Powershell脚本。

1 个答案:

答案 0 :(得分:1)

您使用start-process来运行bat文件,因此只需使用相同的文件来运行msi文件。 由于没有用于导入regitry文件的powershell cmdlet,您可以使用regedit.exe导入reg文件。

Start-Process -FilePath 'msiexec.exe' -ArgumentList "/qn /i 'C:\Temp\TeamViewer.msi' /passive" -Wait 
Start-Process -Filepath 'regedit.exe' -ArgumentList "/s 'C:\Temp\TeamViewer_Settings.reg'"