结合powershell和cmd创建批处理文件

问题描述 投票:0回答:1

我不是一个程序员,但我有一些基本的能力将一些脚本混合在一起并且通常得到一些对我有用的东西,但这超出了我的理解范围。我试图将3个东西组合成一个批处理文件。它本质上是一个解决方案,可以关闭Windows 10隐私设置并删除一些后台应用程序。我可以在powershell中运行命令,但我希望通过一个批处理脚本自动执行整个操作:

  1. 使Windows 10隐私设置脚本保持最新。这是通过powershell中的以下命令完成的: (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/hahndorf/Set-Privacy/master/Set-Privacy.ps1') | out-file .\Set-Privacy.ps1 -force

只需要确保首先设置下载的目标文件夹(我不知道如何通过批处理文件/脚本执行此操作)。该命令来自某人在github上写的位于here的脚本

  1. 在最高设置下运行powershell脚本以关闭隐私设置。这是通过以下命令完成的,再次来自上面的链接: .\Set-Privacy.ps1 -Strong -admin
  2. 删除后台应用,例如,删除“3D Builder”:

要卸载3D Builder:

get-appxpackage *3dbuilder* | remove-appxpackage

有关这方面的详细信息,请访问here

任何这方面的任何帮助非常感谢。

powershell
1个回答
0
投票

试试这个,当然PowerShell本身不是一个批处理文件工具,尽管你可以用它来调用批处理(.bat,.cmd.vbs等)文件。

虽然脚本是一个脚本(批处理或其他方式),但分类法是一个完全不同的对话。

所以,你想要的是一个你可以根据需要调用的功能。

Function Set-Windows10PrivacySettings
                                                                                                {
[CmdletBinding()]

[Alias()]

Param
(
    [string]$DownloadPath = "$env:USERPROFILE\Downloads"
)

# Download the Privacy Script
(New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/hahndorf/Set-Privacy/master/Set-Privacy.ps1') | 
out-file "$env:USERPROFILE\Downloads\Set-Privacy.ps1"

# Temporarialy naviagte to the target directory adn run the script
Push-Location -Path $DownloadPath
Start-Process .\Set-Privacy.ps1 -Strong -admin

# Remove AppX packages
$AppPackageList = (Get-AppxPackage).Name | 
Sort-Object | 
Out-GridView -Title 'Select one or more AppX to remove. Press CRTL+LeftMouseClick to multi-select' -PassThru

# Remove the selected AppX without prompt to confirm
ForEach($AppPackage in $AppPackageList)
{
    "Removing selected AppX $AppPackage"
    # Remove-AppxPackage -Package $_ -Confirm:$false -WhatIf
}

# Retrun to the original directory
Pop-Location
}

# Call the function in PowerShell
Set-Windows10PrivacySettings

只需删除评论标记'#'和'WhatIf'开关即可实际发生事情。

© www.soinside.com 2019 - 2024. All rights reserved.