一些实用的BAT代码

您所在的位置:网站首页 vbs脚本关闭exe程序 一些实用的BAT代码

一些实用的BAT代码

2023-04-05 23:31| 来源: 网络整理| 查看: 265

前言

bat代码使用方法:

新建文本文档把代码复制进去另存为,编码格式改为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行删掉玩玩

参考资料: https://blog.csdn.net/weixin_39715348/article/details/110583455 https://zhuanlan.zhihu.com/p/85878156 https://www.bilibili.com/video/BV1S5411X7aw/


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3