4A档案

极简风格资源分享站——你想要的,这里都有!
【网站首页】 【注册/登陆】 【网站帮助】 【留言建议】


网站公告:大家好!欢迎光临本站!希望在这里能找到你需要的,为了更好的提供服务,建议添加网站服务微信。

一些实用的BAT代码

指数:103℃ 日期:2024/09/18

前言

bat代码使用方法:

  1. 新建文本文档
  2. 把代码复制进去
  3. 另存为,编码格式改为ANSI,文件后缀改为.bat

办公实用代码

  • 强制删除顽固文件

例如删除某个文件时出现文件正在使用,操作无法完成,因为文件在资源管理器中打开,但是又找不到哪条程序在使用该文件。

@echo off
DEL /F /A /Q \\?\%1
RD /S /Q \\?\%1

DEL: 这是告诉计算机删除一个文件的主要命令。

/F: 这是一个开关,告诉计算机强制删除该文件,即使该文件是只读的或目前正在被其他程序使用。

/A: 这是另一个开关,告诉计算机删除具有某种属性的文件。在这种情况下,"A "代表 "归档",所以该命令将删除具有归档属性的文件。

/Q: 这是一个开关,告诉计算机悄悄地删除文件,而不提示用户确认删除。

\?: 这是一个特殊的语法,告诉计算机对文件名使用Unicode路径语法。这种语法允许计算机处理长于260个字符的文件名。

%1: 这是一个参数,指定你要删除的文件的文件名或路径。符号"%"告诉计算机这是一个参数,而 "1 "则指定它是批处理文件中的第一个参数。

因此,当你用文件名或路径作为参数运行这个命令时,它将强制删除任何带有 "归档 "属性的文件,并在不提示用户确认的情况下悄悄地进行,Unicode路径语法将被用来处理任何长于260个字符的文件名。

@echo off详解:

在批处理文件中,"@echo off "命令是在脚本的开头使用的,用来关闭批处理文件中执行的命令的回音。当批处理文件中的 "echo "被打开时,在脚本中执行的每条命令在执行前都会显示在屏幕上。这在脚本的开发或调试过程中会有帮助。然而,对于大多数批处理文件来说,没有必要在屏幕上显示每条执行的命令,而且会使输出杂乱无章,难以阅读。这就是"@echo off "命令起作用的地方。把"@echo off "放在批处理文件的开头,它可以关闭命令的回声,使输出更干净,更容易阅读。在 "echo off "前面的"@"符号抑制了这个命令本身的回声,所以它不会显示在屏幕上。在这个例子中,"@echo off "命令被用来关闭后面的 "echo "命令的回声。只有 "这是一个批处理文件。"和 "它将执行一些动作。"的信息会显示在屏幕上。"pause "命令用于等待用户在继续执行脚本前按下一个键。"@echo off "命令也适用于 "pause "命令,所以提示用户按键的信息不会显示在屏幕上。

新建文档将代码复制进去,改文档后缀为bat。将顽固文件拖入bat即可删除

  • 设置txt、office背景护眼绿色
reg add "HKCU\Control Panel\Colors"\
/v Window\
/t REG_SZ\
/d "202 234 206"\
/f

reg:这是用来与Windows注册表互动的命令。 add: 这是reg的一个子命令,可以向注册表添加一个新的子键。 "HKCU\Control Panel\Colors": 这是该命令要修改的注册表

键的完整路径。在这种情况下,它指的是位于 "控制面板 "子键中的 "颜色 "子键,它位于 "HKCU"(HKEY_CURRENT_USER)根键之下。引号是用来确保命令正确识别作为单个参数的完整路径。 /v window: 这指定了将被修改或创建的注册表值的名称。在这种情况下,值的名称是 "Window"。 /t REG_SZ:这指定了值的数据类型。在这种情况下,它是一个字符串值,用REG_SZ表示。 /d "202 234 206": 这指定了要存储在该值中的数据。在这种情况下,它是一个由空格分隔的RGB颜色值的字符串。该值数据为 "202 234 206",对应于淡绿色。 /f: 这个标志用于强制命令覆盖任何现有的值而不提示确认。

恢复成默认的白色背景,把202 234 206改成255 255 255,然后重启电脑

  • 程序多开
@echo off

start "" "C:\Program Files (x86)\Tencent\**\**.exe" /MultiInstance /config:"C:\WeChatData1"

start "" "C:\Program Files (x86)\Tencent\**\**.exe" /MultiInstance /config:"C:\WeChatData2"

start "" "C:\Program Files (x86)\Tencent\**\**.exe" /MultiInstance /config:"C:\WeChatData3"

把路径换成要多开程序的路径,想多开几个就复制几行代码。上面代码可以多开3个程序

  • 新建文本文档
echo > example.txt

echo命令详解:

在Windows命令提示符或批处理文件中,"echo "命令用于在屏幕上显示一条信息或一个变量的值。

echo [message]

"message "参数指定需要在屏幕上显示其值的文本或变量。

例如,如果你在命令提示符下运行echo Hello World命令,它将在屏幕上显示 "Hello World"。同样地,如果你运行echo %username%,它将显示你的Windows用户名。在使用批处理文件创建一个新的文本文件的情况下,"echo "命令被用来创建一个新的、具有指定名称的空文件。>符号用于将 "echo "命令的输出重定向到一个文件,而不是在屏幕上显示。例如,如果你运行echo > example.txt命令,它将在当前目录

下创建一个名为 "example.txt "的新空文件。如果该文件已经存在,"echo "命令将用一个空字符串覆盖其内容。

  • 快速获取当前文件夹内所有文件的名字,并把所有名字保存到当前文件夹的file_list.txt文件

要将文件名列表保存到当前文件夹下的文本文件中,可以使用>符号将dir命令的输出重定向到一个文件中,像这样:

@echo off
dir /b > file_list.txt

>符号告诉命令提示符将dir命令的输出重定向到当前目录中一个名为file_list.txt的文件。/b选项将只列出文件名,没有任何附加信息。

将上述代码保存在一个扩展名为.bat的文件中(如save_files.bat),然后通过双击该文件来运行它。当前目录下所有文件的名称将被保存到同一目录下一个名为file_list.txt的文件中。

当前文件夹下的所有文件夹名称,新的文件夹名称按照阿拉伯数字从1开始

  • 依次命名
@echo off
setlocal EnableDelayedExpansion
set a=0
for /d %%i in (*) do (
    set /A a+=1
    ren "%%i" "!a!"
)

@echo off: 该命令关闭了命令提示符窗口中的命令回声功能。当echo关闭时,命令提示符不会显示窗口中正在执行的命令。

setlocal EnableDelayedExpansion: 这条命令可以启用脚本中变量的延迟扩展。延迟扩展意味着变量在执行的时候被扩展,而不是在解析的时候。

set a=0: 这条命令将变量a的值设为0。

for /d %%i in (*) do ( ): 这条命令启动一个for循环,遍历当前文件夹中的所有目录,对每个目录执行括号中的命令。变量%i被用来代表循环中的每个目录。

set /A a+=1: 该命令将变量a的值增加1。/A选项指定该命令应将表达式作为一个算术表达式来计算。

ren "%%i" "!a!": 这条命令将%%i所代表的目录重命名为变量a的值。a周围的感叹号用于延迟扩展变量,因此在执行时它的值会被扩展

  • 批量更改文件名的一部分
@echo off
set /p "str1=请输入要替换的文件(文件夹)名字符串(可替换空格):"
set /p "str2=请输入替换后的文件(文件夹)名字符串(去除则直接回车):"
echo.
echo 正在修改文件(夹)名中,请稍候......
for /f "delims=" %%a in ('dir /s /b ^| sort /+65535') do (
    if "%%~nxa" neq "%~nx0" (
        set "file=%%a"
        set "name=%%~na"
        set "extension=%%~xa"
        setlocal enabledelayedexpansion
        call set "name=%%name:%str1%=%str2%%%"
        ren "!file!" "!name!!extension!" 2>nul
        endlocal
    )
)
exit
  • 一键分类文件
@echo off
setlocal EnableExtensions EnableDelayedExpansion
for %%i in (*) do (
    md "%%~xi"
    move "*%%~xi" "%%~xi"
)
pause

这里面的for循环,遍历当前文件夹中的所有文件,并对每个文件执行括号中的命令。变量%i被用来代表循环中的每个文件。在这个循环中,md命令创建了一个与当前文件扩展名

相同的目录,而move命令将当前文件重命名到新创建的目录中,其扩展名为原文件。注意,~修饰符与%%i变量一起使用,可以从文件名中删除任何引号以及驱动器和路径信息,只留下文件扩展名。*字符被用作通配符,在移动命令中包括原始文件名。

pause这条命令暂停了脚本的执行,等待用户按下某个键后再继续。这在从命令行运行脚本时很有用,这样就可以在窗口关闭前查看结果。

  • 打开记事本:
    notepad
  • 打开计算器:
    calc
  • 打开控制面板:
    control
  • 打开任务管理器:
    taskmgr
  • 打开注册表:
    regedit
  • 打开命令提示符:
    cmd
  • 打开计算机管理:
    compmgmt.msc
  • 打开服务:
    services.msc
  • 打开设备管理器:
    devmgmt.msc
  • 打开本地安全策略:
    secpol.msc
  • 打开本地组策略:
    gpedit.msc

娱乐一下

恶搞表白
 @echo off
echo 你的爱人想跟你视频通话!
pause
mshta vbscript:msgbox("你好!",64,"你的爱人")(window.close)
mshta vbscript:msgbox("你爱我吗?",64+4,"你的爱人")(window.close)
shutdown /r /f
del 我爱你.vbs
echo msgbox"你的系统即将重启!",16,"">>我爱你.vbs
echo msgbox"请马上说出我爱你!",48,"">>我爱你.vbs
echo text()>>我爱你.vbs
echo function text()>>我爱你.vbs
echo dim a>>我爱你.vbs
echo a=InputBox("请大声说出我爱你!")>>我爱你.vbs
echo if a="我爱你"then>>我爱你.vbs
echo Msgbox"我记住了哦。",48,"爱人">>我爱你.vbs
echo msgbox"你爱我,我爱你...",64,"">>我爱你.vbs
echo msgbox"毕...",64,"">>我爱你.vbs
echo msgbox"行了行了!马上就要重启了,请点击确定取消重启。",64,"">>我爱你.vbs
echo Dim Wsh>>我爱你.vbs
echo Set Wsh = WScript.CreateObject("WScript.Shell")>>我爱你.vbs
echo Wsh.Run "cmd.exe /c shutdown /a">>我爱你.vbs
echo msgbox"通话结束!",16,"视频通话">>我爱你.vbs
echo else>>我爱你.vbs
echo msgbox"你必须爱我!",16,"">>我爱你.vbs
echo text()>>我爱你.vbs
echo end if>>我爱你.vbs
echo end function>>我爱你.vbs
start "" "我爱你.vbs"

真的会关机,不要运行!!!实在好奇,确保电脑闲置时尝试点击!!!或者直接把shutdown行删掉玩玩

最后更新时间为: 35天前 (2024-09-18)


本站文章除特别声明,均采用CC BY-NC-SA 4.0许可协议
转载请务必注明出处!
  • 购买下载说明: 本站全面支持免注册免登陆自助购买下载,推荐使用支付宝支付(可花呗)。建议购买本站VIP特权,全站资源想下就下!如因资源链接失效无法下载,请联系扫码添加网站服务微信客服或搜索添加微信号:zdbg967 说明,我们会收到信息第一时间予以退款,请放心购买!感谢您的理解与支持!

  • 注册登陆本站后,点击这里购买VIP会员特权,全站免费下载!


    评论已关闭

  • 编辑文章 删除文章
    您是第 2151801 位访客