Windows常用脚本一览:你所使用的脚本都在这里!

前言

在日常开发中,如果能熟练掌握以下这些使用频率很高的脚本,那工作起来真的是手拿把攥,事半功倍,接下来给大家介绍一些我们日常使用率很高的一些脚本!


常用脚本(Batchfile & VBScript)

1.一键启动.bat

  • 一次双击开启多个软件, 不用逐个软件双击打开, 非常方便!
  • @echo off
    mode con lines=30 cols=100
    title= 一键启动
    :main
    cls
    color 2e
    echo %time%
    echo.Martin's Blog  https://javakam.github.io
    
    color 1f
    echo.-----------------------------------------------------------
    
    echo Starting QQ...
    start "" "C:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe"
    
    echo Starting WeChat...
    start "" "C:\Program Files\Tencent\WeChat\WeChat.exe"
    
    :end
    echo 执行完成
    

    2.Win11改用传统右键菜单.bat

  • 切换Win11的右键菜单 或 Win10旧版菜单。例如切换到Win10旧版右键菜单:
  • @echo off
    >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
    if '%errorlevel%' NEQ '0' (
    goto UACPrompt
    ) else ( goto gotAdmin )
    :UACPrompt
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
    "%temp%\getadmin.vbs"
    exit /B
    :gotAdmin
    if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
    
    
    @echo off
    echo. 
    echo ============================================= 
    echo 右键菜单类型
    echo 1 (Win10旧版右键菜单)
    echo 2 (Win11新版右键菜单)
    echo ============================================= 
    
    :select
    set /p opt=请选择操作:
    if %opt%==1 (
        echo 正在开启Win10旧版右键菜单》》》》》》》》》
    	reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve
    )
    if %opt%==2 (
        echo 正在恢复Win11新版右键菜单》》》》》》》》》
    	reg delete "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}" /f
    )
    
    @echo off
    echo *************************************
    echo *                                   *
    echo *          重启任务管理器...        *
    echo *                                   *
    echo *************************************
    taskkill /f /im explorer.exe & start explorer.exe
    
    pause
    

  • 两种菜单样式随时切换, 很方便。

  • 3.Java多版本切换

  • ①以java1.8和java17为例, 目录结构为:
  • ②环境变量配置
  • Path:
  • ③SwitchJDK.bat源码及运行效果:
  • @echo off
    %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
    cd /d "%~dp0"
    
    @echo off
    rem --- Base Config 配置JDK的安装目录 ---
    :init 
    set JAVA_HOME8=C:\fastwork\Java\jdk1.8
    set JAVA_HOME17=C:\fastwork\Java\jdk17
    :start 
    echo 当前使用的JDK 版本: 
    java -version 
    echo. 
    echo ============================================= 
    echo jdk版本列表 
    echo 1 (1.8)
    echo 2 (17)
    echo ============================================= 
    
    :select
    set /p opt=请选择jdk版本: 
    if %opt%==1 (
        set TARGET_JAVA_HOME=%JAVA_HOME8%
    )
    if %opt%==2 (
        set TARGET_JAVA_HOME=%JAVA_HOME17%
    )
    
    echo 当前选择的Java路径:%TARGET_JAVA_HOME%
    
    wmic ENVIRONMENT where "name='JAVA_HOME'" delete
    wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="%TARGET_JAVA_HOME%"
    
    rem -- refresh env ---
    call RefreshEnv
    
    echo 请按任意键退出!
    pause>nul
    

  • 注: 修改环境变量后, 必须使用Win+R打开cmd的新窗口,再输入java -version进行验证才准确。此时Android Studio中的Terminal验证显示仍是旧的java环境, 重启AS即可。

  • 4.Windows设置/取消定时关机

  • 定时关机.bat
  • @echo off
    %1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
    cd /d "%~dp0"
    
    @echo off
    echo. 
    echo ============================================= 
    echo 定时关机
    echo 0(取消所有定时关机)
    echo 1小时(3600)
    echo 2小时(7200)
    echo 3小时(10800)
    echo 4小时(14400)
    echo 5小时(18000)
    echo 6小时(21600)
    echo 7小时(25200)
    echo 8小时(28800)
    echo 9小时(32400)
    echo 10小时(36000)
    echo ============================================= 
    
    :prompt
    :select
    set /p opt=请选择:
    if %opt%==0 (
    	set SHUTDOWN_DELAY=0
    )else if %opt%==1 (
    	set SHUTDOWN_DELAY=1
    )else if %opt%==2 (
    	set SHUTDOWN_DELAY=2
    )else if %opt%==3 (
    	set SHUTDOWN_DELAY=3
    )else if %opt%==4 (
    	set SHUTDOWN_DELAY=4
    )else if %opt%==5 (
    	set SHUTDOWN_DELAY=5
    )else if %opt%==6 (
    	set SHUTDOWN_DELAY=6
    )else if %opt%==7 (
    	set SHUTDOWN_DELAY=7
    )else if %opt%==8 (
    	set SHUTDOWN_DELAY=8
    )else if %opt%==9 (
    	set SHUTDOWN_DELAY=9
    )else if %opt%==10 (
    	set SHUTDOWN_DELAY=10
    )else (
       echo 输入无效!请输入有效的选择。
       goto prompt
    )
    
    setlocal enabledelayedexpansion
    
    if %SHUTDOWN_DELAY%==0 (
    	echo 已取消所有自动关机!!!
    	Shutdown -a
    )else (
    	echo %SHUTDOWN_DELAY%小时后自动关机》》》》》》》》》
    	set /a result=%SHUTDOWN_DELAY% * 3600
    	Shutdown -s -f -t !result!
    )
    
    echo 操作已完成!可再次修改设置。
    goto prompt
    
    ::pause
    
  • 效果图:
  • 定时关机_N小时.bat
  • @REM echo 定时关机
    @REM echo 0(取消所有定时关机)
    @REM echo 1小时(3600)
    @REM echo 2小时(7200)
    @REM echo 3小时(10800)
    @REM echo 4小时(14400)
    @REM echo 5小时(18000)
    @REM echo 6小时(21600)
    @REM echo 7小时(25200)
    @REM echo 8小时(28800)
    @REM echo 9小时(32400)
    @REM echo 10小时(36000)
    
    Shutdown -s -f -t 10800
    
  • 定时关机_取消.bat
  • Shutdown -a
    

    5.控制某个服务的开启/关闭

  • 以某品牌移动硬盘的服务为例:
  • 右键开始选择计算机管理->服务和应用程序中双击服务->找到指定服务并查看属性
    * 把服务名称放到net start/stop 后面即可:
  • @echo off
    >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
    if '%errorlevel%' NEQ '0' (
    goto UACPrompt
    ) else ( goto gotAdmin )
    :UACPrompt
    echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
    echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
    "%temp%\getadmin.vbs"
    exit /B
    :gotAdmin
    if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
    
    
    @echo off
    echo. 
    echo ============================================= 
    echo 操作类型
    echo 1 (开启服务)
    echo 2 (关闭服务)
    echo ============================================= 
    
    :select
    set /p opt=请选择操作:
    if %opt%==1 (
        echo 开启服务
        net start "TosHddscSvc"
    )
    if %opt%==2 (
        echo 关闭服务
        net stop "TosHddscSvc"
    )
    
    ::pause
    setlocal enabledelayedexpansion
    
    echo 执行结束,脚本5秒后自动退出...
    set /a count=5
    :loop
    echo 剩余时间:%count% 秒
    timeout /t 1 >nul
    set /a count-=1
    if %count% gtr 0 (
        goto loop
    ) else (
        echo 脚本退出
    )
    
    endlocal
    exit
    
  • 执行效果(此处设置了bat倒计时自动退出):


  • 6.设置开机启动脚本

  • ①新建xxx.vbs, 设置需要开机启动的bat文件名:
  • set ws=wscript.createobject("wscript.shell")
    ws.run "xxxxxx.bat /start",0
    
  • ②把vbs脚本源文件或快捷方式放到
  • C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

    (Win+R输入:shell:startup 可快速打开)

  • 目录下, 开机后会自动执行。如下图所示:

  • 附1:jupyter开机启动vbs

  • jupyter_startup.vbs
  • Dim wsh
    Set wsh = createobject("wscript.Shell")
    '1. 使用配置文件启动 jupyter_notebook_config.py
    'wsh.run "cmd /c jupyter notebook --no-browser", 0, true
    '2. 直接进入路径启动[推荐]
    wsh.run "cmd /c jupyter notebook --notebook-dir='C:\fastwork\Python\JupyterNotebook' --no-browser", 0, true
    Set wsh = Nothing
    
  • 其中 JupyterNotebook 为存放*.ipynb文件的目录:
  • 附2:redis开机启动vbs

  • service_redis_startup.vbs
  • set ws=wscript.createobject("wscript.shell")
    ws.run "service_start.bat /start",0
    
  • service_start.bat
  • ::启动redis的命令
    @echo off
    ::这是简单的输出,相当于java中的system.out.println()
    echo redis-server start......
    ::设置启动窗口的标题
    title redis-server
    ::定义一个变量ENV_HOME
    set ENV_HOME="C:\fastwork\Redis"
    C:
    ::设置启动窗口的颜色
    color 0a
    cd %ENV_HOME%
    redis-server.exe redis.windows.conf
    exit
    

    7.常用jar包

  • 源码地址: javakam / FileCleaner
  • 使用方法: java -jar xxx.jar
    FileCleaner.jar 用于清理 Android/Java项目的临时编译目录,如build classes target 等。
    FileSizeCalculator.jar 用于查看目录中所有文件的大小,目前仅支持MB为单位,便于删除大文件。

  • 8.Python脚本、源码、资料包直通车:

    学习资料已打包,需要的小伙伴可以戳这里[学习资料]或扫描下方码!!!!!!!


    作者:Python资讯站

    物联沃分享整理
    物联沃-IOTWORD物联网 » Windows常用脚本一览:你所使用的脚本都在这里!

    发表回复