如何使用 PowerShell 禁用 Windows 10 中的桌面图标?

如何使用 PowerShell 禁用 Windows 10 中的桌面图标?

如何使用 powershell 命令从桌面删除“回收站”或“控制面板”等图标?我说的是这个设置:

这就是我要找的场景

我在 Windows 中找到了该设置,但找不到执行此操作的 PowerShell 命令。

答案1

此批处理文件用于更改 Windows 计算机上的各种设置,例如显示或隐藏系统时钟的秒数以及显示或隐藏桌面图标。

在此处输入图片描述

首先,该批处理调用一个名为“创建快捷方式”在用户桌面上创建批处理文件的快捷方式并为其分配热键CTRL+ ALT+ 。I

然后批处理文件使用“网络会话”命令来检查它是否以管理权限运行。

如果没有,它将使用 PowerShell 以管理权限启动快捷方式并退出批处理文件。

下一段代码设置了一个变量“钥匙”到特定的注册表项位置,该位置稍后会在代码中用于更改系统设置。

子程序“获取信息”使用 PowerShell 获取 Windows 资源管理器中当前打开的所有文件夹的列表,并将它们存储在名为的数组中“文件夹”

这将在代码中用于在对系统设置进行更改后恢复文件夹。

然后批处理文件进入标记为“菜单循环”,向用户显示选项菜单,例如“显示系统时钟的秒数”“隐藏桌面图标”

用户可以进行选择或按回车键退出批处理文件。

然后将选定的选项作为参数传递给具有相应名称的子程序,例如“菜单_1”“菜单_2”, ETC。

每个子程序都会使用“注册”命令,修改注册表。

例如,“菜单_1”使用“注册添加”命令来设置“显示系统时钟秒数”注册表中的键为1,显示系统时钟的秒数。

在此处输入图片描述

进行更改后,子程序“重启资源管理器”被称为使用 PowerShell 重新启动 Windows 资源管理器。

然后,批处理文件使用 for 循环恢复在进行更改之前打开的所有文件夹。


@echo off
Title Show Or Hide Desktop Icons And Show Or Hide Seconds In System Clock
Color 9E & Mode 82,12 & SetLocal EnableDelayedExpansion
Call:CreateShortcut
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: Automatically check & and start the batch file with admin rights
(Net session >nul 2>&1)||(PowerShell start """%userprofile%\Desktop\%~n0.lnk""" -verb RunAs & Exit /B)
::--------------------------------------------------------------------------
Set "Key=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"
::--------------------------------------------------------------------------
:GetInfo
@REM Get Opened Folders with PowerShell code in a batch file
Set PSCommand="@((New-Object -com shell.application).Windows()).Document.Folder | ForEach { $_.Self.Path }"
REM  Populate the array with existent and opened folders
SetLocal EnableDelayedExpansion
Set /a Count=0
for /f "delims=" %%a in ('Powershell -C %PSCommand%') do (
    Set /a Count+=1
    Set "Folder[!Count!]=%%a"
)
::===========================================================================
:menuLOOP
::===========================================================================
echo(
echo(
echo(       ***************************** Menu ******************************
echo(
@for /f "tokens=2* delims=_ " %%A in ('"findstr /b /c:":menu_" "%~f0""') do (
echo(                 %%A  %%B)
echo(
echo(       *****************************************************************
echo( &Set /p Selection=Make a Selection or hit ENTER to quit: || Goto :EOF
echo( & Call:menu_[%Selection%]
GOTO:menuLOOP
::===========================================================================
::---------------------------------------------------------------------------------------------------
:menu_[1] Show Seconds In SystemClock
reg Add "%Key%" /V ShowSecondsInSystemClock /T REG_DWORD /D 1 /F 1>NUL
Call:Restart_Explorer
@rem Restore all closed folders
@for /L %%i in (1,1,%Count%) do Start /MAX Explorer "!Folder[%%i]!"
Exit /B
::---------------------------------------------------------------------------------------------------
:menu_[2] Hide Seconds In SystemClock
reg Add "%Key%" /V ShowSecondsInSystemClock /T REG_DWORD /D 0 /F 1>NUL
Call:Restart_Explorer
@rem Restore all closed folders
@for /L %%i in (1,1,%Count%) do Start /MAX Explorer "!Folder[%%i]!"
Exit /B
::---------------------------------------------------------------------------------------------------
:menu_[3] Hide Desktop Icons
reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v NoDesktop /t REG_DWORD /d 1 /f 2>nul
Call:Restart_Explorer
@rem Restore all closed folders
@for /L %%i in (1,1,%Count%) do Start /MAX Explorer "!Folder[%%i]!"
Exit /B
::---------------------------------------------------------------------------------------------------
:menu_[4] Show Desktop Icons
reg delete HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer /v NoDesktop /f 2>nul
Call:Restart_Explorer
@rem Restore all closed folders
@for /L %%i in (1,1,%Count%) do Start /MAX Explorer "!Folder[%%i]!"
Exit /B
::---------------------------------------------------------------------------------------------------
:Restart_Explorer
Powershell -C "gps explorer | spps"
Exit /B
::---------------------------------------------------------------------------------------------------
:CreateShortcut
Powershell ^
"$s=(New-Object -COM WScript.Shell).CreateShortcut('%userprofile%\Desktop\%~n0.lnk'); ^
$s.TargetPath='%~f0'; ^
$s.WorkingDirectory='%~dp0'; ^
$s.IconLocation='colorcpl.exe,0'; ^
$s.HotKey='CTRL+ALT+I'; ^
$s.Save()"
Exit /B
::---------------------------------------------------------------------------------------------------

相关内容