Конвертировать скрипт для использования щелчка мыши вместо клавиатуры
У меня есть эти сценарии, которые дефрагментируют мои жесткие диски. Можно ли переписать их, чтобы я мог использовать мышь, чтобы сделать выбор, а не вводить выбор с клавиатуры? Я включил и powershell, и пакетный скрипт, но они оба выполняют одни и те же команды.
Пакетный скрипт
@echo off
title Defragment and Optimize Drives
echo.Choose Optimization:
:choice
echo.
echo.
echo. [1] Trim (C:)WINDOWS 10
echo.
echo.
echo. [2] Defragment (C:)WINDOWS 10
echo.
echo.
echo. [3] Trim (D:)APPS
echo.
echo.
echo. [4] Defragment (D:)APPS
echo.
echo.
echo. [5] Defragment (E:)DATABASE
echo.
echo.
echo. [6] Defragment (F:)WORK AREA
echo.
echo.
echo. [7] Defragment (G:)DATABASE BACKUP
echo.
echo.
echo.
echo.
set /p userinp= Enter [NUMBER]:
if [%userinp%]==[] echo.&echo Invalid User Input&echo.&pause&goto :menu
if %userinp%==1 goto :opt1
if %userinp%==2 goto :opt2
if %userinp%==3 goto :opt3
if %userinp%==4 goto :opt4
if %userinp%==5 goto :opt5
if %userinp%==6 goto :opt6
if %userinp%==7 goto :opt7
goto :eof
echo.
echo.
:opt1
defrag c: /l /h /u
goto :choice
:opt2
defrag c: /h /u
goto :choice
:opt3
defrag d: /l /h /u
goto :choice
:opt4
defrag d: /h /u
goto :choice
:opt5
defrag e: /o /h /u
goto :choice
:opt6
defrag f: /o /h /u
goto :choice
:opt7
defrag g: /o /h /u
goto :choice
Скрипт Powershell
$host.ui.RawUI.WindowTitle = “Defragment and Optimize Drives”
function Show-Menu
{
param (
)
Write-Host "SELECT TASK:"
Write-host "`n"
Write-Host "[1] Retrim C:\WINDOWS 10 {SSD}"
Write-host "`n"
Write-Host "[2] Defrag C:\WINDOWS 10 {SSD}"
Write-host "`n"
Write-Host "[3] Retrim D:\APPS {SSD}"
Write-host "`n"
Write-Host "[4] Defrag D:\APPS {SSD}"
Write-host "`n"
Write-Host "[5] Defrag E:\DATABASE {HDD}"
Write-host "`n"
Write-Host "[6] Defrag F:\WORK AREA {HDD}"
Write-host "`n"
Write-Host "[7] Defrag G:\DATABASE BACKUP {HDD}"
Write-host "`n"
Write-Host "[8] Exit "
Write-host "`n"
}
do
{
Show-Menu
$input = Read-Host "Enter [NUMBER]"
switch ($input)
{
'1' {
cls
Optimize-Volume C -Retrim -NormalPriority
} '2' {
cls
Optimize-Volume C -Defrag -NormalPriority
} '3' {
cls
Optimize-Volume D -Retrim -NormalPriority
} '4' {
cls
Optimize-Volume D -Defrag -NormalPriority
} '5' {
cls
Optimize-Volume E -Defrag -NormalPriority
} '6' {
cls
Optimize-Volume F -Defrag -NormalPriority
} '7' {
cls
Optimize-Volume G -Defrag -NormalPriority
} '8' {
cls
exit
}
}
pause
}
until ($input -eq 'exit')