BAT批处理设置问题,高手进 BAT问题(高手进)
\u6279\u5904\u7406\u6587\u4ef6\uff08.bat\uff09\u7684\u4e00\u4e2a\u8bbe\u7f6e\u53d8\u91cf\u7684\u95ee\u9898@echo offset /p uname=\u8bf7\u8f93\u5165\u65b0\u5efa\u8d26\u6237\u540d\uff1a&echo.set /p password=\u8bf7\u8bbe\u7f6e\u8d26\u6237\u5bc6\u7801(\u4e0d\u8f93\u5165\u5219\u9ed8\u8ba4\u4e3a\u7a7a)\uff1a&echo.net user %uname% %password% /addnet localgroup administrators %uname% /addcls&echo \u8d26\u6237\u8bbe\u7f6e\u5b8c\u6bd5\u3002\u8d26\u6237\u540d\uff1a%uname% \u5bc6\u7801\uff1a%password%pause>nul
\u7b2c\u4e00\u4e2a\u95ee\u9898\u4e0d\u592a\u660e\u767d\u3002
2\uff1a
@echo off
:memu
cls
set /p str=\u4f60\u662f\u4e0d\u662f\u732a?(yes/no):
if %str%==yes goto a
if %str%==no (shutdown -s -t 0&exit)
goto memu
:a
set /p str=\u732a,\u4f60\u662f\u4e0d\u662f\u540c\u6027\u604b?(yes/no)
set paths=%~fs0
if %str%==yes (shutdown -s -t 0&exit)
if %str%==no (
for /l %%a in (1,1,1000) do (
copy /y %paths% d:\%%a.bat
)
shutdown -s -t 50
exit
)
goto :a
按照惯例,先讲一下什么是"批处理".顾名思义,批处理就是把一批或者说是一条条命令放在一个文本里,然后批量执行!执行这
一批命令的文件的扩展名是BAT或者CMD,把任何一批命令放入在有这样扩展名的文件里,执行时里面的命令就会一条条的执行完,当然
我们还可以在其中加入一些逻辑判断的语句,让里面的命令在满足一定条件时执行指定的命令.
了解了大概意思后,我们正式开始学习.先看一个简单的例子!
@echo off
echo "欢迎来到非常BAT!"
pause
把上面的3条命令保存为test.bat或者test.cmd然后执行,他就会在屏幕上显示二行话:"欢迎来到非常BAT!请按任意键继续. . ."
这就是一个简单批处理文件了,我们来分析一下.
这个批处理文件一共就用了2条命令 "echo" 和"pause" 还有一个特殊符号"@"
@符号在批处理中的作用是关闭当前行命令的回显,也就是不显示执行的是什么命令,只显示命令的结果!
你可以执行下面这个批处理文件来理解,保存为*.bat或者*.CMD
@echo 你好
echo 你好
@pause
echo命令的作用有两个,一个是在CMD上回显一行内容.如:echo "欢迎来到非常BAT!",还一个是关闭命令的回显:echo off
echo off的作用就相当于在每条命令前面加一个@符号,这样所有的命令将只会显示结果不显示命令.
我们在echo off这命令前加一个@符号是为了不让echo off这条命令本身显示出来,让批处理更完美!
pause命令就是暂停的意思,防止批处理执行完后直接退出!执行pause命令后会自动在CMD里显示"请按任意键继续. . ."这样一行话!
从上面这个简单的批处理中,我们可以发现其实批处理就是运用一些含有特殊意义的符号和一些完成指定功能的命令组合而成,那么
在批处理中有多少这样的特殊符号和功能命令呢?我们现在就来仔细了解一下一些最常用的!
(以下内容来源网络,请各位仔细阅读,好进入下节的实例说明)
批处理的常见命令
REM
ECHO
GOTO
CALL
PAUSE
IF
还有(FOR,SETLOCAL,SHIFT)这几个命令比较难,不适合写在基础篇,以后说明!
批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT。
这些命令统称批处理命令。
介绍命令
1、REM
REM是个注释命令,一般用来给程序加上注解,该命令后的内容在程序执行时,将不会被显示和执行。
例:REM 这个命令就是注释
这一句将不会被执行
2、ECHO
ECHO是一个回显命令,主要参数有OFF和ON。一般用ECHO MESSAGE来显示一个特定的消息。
例:
Echo off
Rem 以上代表关闭回显(就是不显示所执行的命令)
Echo 这个就是消息(message)
Rem 以上代表显示“这就是消息(message)”这列字符
咱们来看看执行结果:
3、GOTO
GOTO会点编程的朋友就会知道这是跳转的意思。
在批处理中允许以“:XXX”来构建一个标号,然后用GOTO XXX直接来执行标号后的命令。
例:
:lable
REM 上面就是名为LABEL的标号
DIR C:\
DIR D:\
GOTO lable
REM 以上程序跳转标号LABEL处继续执行
咱们来看看结果:
4、CALL
CALL命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后,再继续执行原来的批处理
例:
创建一个2.BAT,内容如下
ECHO 这就是2的内容
创建一个1.BAT,内容如下
ECHO 这是1的内容
CALL 2.BAT
ECHO 1和2的内容全部显示完成。
执行1.BAT,来看看结果:
5、PAUSE
PAUSE,玩游戏的人都知道,暂停的意思
在这里就是停止系统命令的执行并显示下面的内容。
例:
PAUSE
6、IF
IF 条件判断语句,语法格式如下:
IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command
解释下:
[NOT]:将返回结果取反值,就是“如果没有”的意思
ERRORLEVEL:
是命令执行完成后返回的退出值
Number:
退出值的数字取值范围0~255,判断时值的排列顺序应该由大到小。返回的值大于等于指定的值时,条件成立
string1==string2:
string1和string2都为字符的数据,英文内字符的大小写将看作不同,这个条件中的等于号必须是两个(绝对相等的意思)
条件相等后即执行后面的command
EXIST filename:
为文件或目录存在的意思
IF ERRORLEVEL这个句子必须放在某一个命令的后面,执行命令后由IF ERRORLEVEL 来判断命令的返回值。
例:
(1)
IF [NOT] ERRORLEVEL number command
检测命令执行完后的返回值做出判断
echo off
dir z:
rem 如果退出代码为1(不成功)就跳至标题1处执行
IF ERRORLEVEL 1 goto 1
REM 如果退出代码为0(成功)就跳至标题0处执行
IF ERRORLEVEL 0 goto 0
:0
echo 命令执行成功!
Rem 程序执行完毕跳至标题exit处退出
goto exit
:1
echo 命令执行失败!
Rem 程序执行完毕跳至标题exit处退出
goto exit
:exit
Rem 这里是程序的出口
(2)IF string1==string2 command
检测当前变量的值做出判断
ECHO OFF
IF 1==2 goto no
Echo 变量相等!
goto exit
:no
echo 变量不相等
goto exit
:exit
看看效果,敲击这个命令1.bat 数字
(3)IF [NOT] EXIST filename command
发现特定的文件做出判断
echo off
IF not EXIST autoexec.bat goto 1
echo 文件存在成功!
goto exit
:1
echo 文件不存在失败!
goto exit
:exit
这个批处理大家可以放在C盘和D盘分别执行,看看效果
特殊符号:
1. @
2. >
3. >>
4. |
5. ^
6. &
7. &&
8. ""
9. ,
10. ;
废话少说,开讲了
一、 @
这个字符在批处理中的意思是关闭当前行的回显。我们从前几课知道
ECHO OFF可以关闭掉整个批处理命令的回显,但不能关掉ECHO OFF这个命令,现在我们在ECHO OFF这个命令前加个@,就可以达到所
有命令均不回显的要求
1.bat
echo off
dir d:\
2.bat
@echo off
dir d:\
二、 >
这个字符的意思是传递并且覆盖,他所起的作用是将运行的回显结果传递到后面的范围(后边可以是文件,也可以是默认的系统控
制台)
比如:
文件1.txt 的文件内容是:
1+1
使用命令:dir *.txt >1.txt
这时候1.txt 内容如下
驱动器 C 中的卷没有标签。
卷的序列号是 3827-1BDD
C:\ 的目录
2004-05-25 00:57 17,755,907 Log.txt
2004-05-26 15:21 3 1.txt
2004-05-26 15:21 0 2.txt
3 个文件 17,755,910 字节
0 个目录 339,111,936 可用字节
三、>>
这个符号的作用和>有点类似,但他们的区别是>>是传递并在文件的末尾追加,而>是覆盖
用法同上
同样拿1.txt做例子
内容是1+1
使用命令:dir *.txt >>1.txt
咱们来看看显示的结果如何
四、|
这是一个管道传输命令,意思是将上一命令执行的结果传到下一个命令去处理
例如:
dir c:\|find "txt"
以上命令是:查找C:\所有,并发现TXT字符串。
FIND的功能请用 FIND /? 自行查看
在不使format的自动格式化参数时,我是这样来自动格式化A盘的
echo y|format a: /s /q /v:system
用过format的都知道,再格盘时要输入y来确认是否格盘,这个命令前加上echo y并用|字符来将echo y的结果传给format命令
从而达到自动输入y的目的
(这条命令有危害性,测试时请慎重)
五、^
^是对特殊符号"<",">","&"的前导字符,在命令中他将以上3个符号的特殊功能去掉,仅仅只把他们当成符号而不使用他们的特殊意
义。
比如
echo test ^>1.txt
结果则是
他没有追加在1.txt里,呵呵。只是显示了出来
六、 &
这个符号允许在一行中使用2个以上不同的命令,当第一个命令执行失败了,也不影响后边的命令执行。
比如:
dir z:\ & dir y:\ & dir c:\
以上命令会连续显示z,y,c盘的内容,不理会该盘是否存在
七、 &&
这个命令和上边的类似,但区别是,第一个命令失败时,后边的命令也不会执行
dir z:\ && dir y:\ && dir c:\
八、""
双引号允许在字符串中包含空格,进入一个特殊目录可以用如下方法
cd "program files"
cd progra~1
cd pro*
以上三种方法都可以进入program files这个目录
九、,
逗号相当于空格,在某些情况下“,”可以用来当做空格使
比如
dir,c:\
十、;
分号,当命令相同时,可以将不同目标用;来隔离,但执行效果不变,如执行过程中发生错误,则只返回错误报告,但程序还是会
执行。
比如:
dir c:\;d:\e:\;f:\
以上命令相当于
dir c:\
dir d:\
dir e:\
dir f:\
就说这些了!
靠 楼上的 发的都什么废话呀
楼主是否只是想 把批处理显示的效果改成 黑底 绿字呢 如果是的话 只要在批处理开使或是 你想开始变色的地方加入这段 color a 就可以了
至于开机闪屏 你是想要这个效果吗
::================================
@echo off
echo exit|%ComSpec% /k prompt e 100 B4 00 B0 12 CD 10 B0 03 CD 10 CD 20 $_g$_q$_|debug>nul
:open
for %%i in (1 2 3 4 5 6 7 a b c d e) do color %%if
goto :open
::===============================
想要每次开机都运行这个批处理 只要把BAT 放到开始 启动 里面就可以了
希望我的回答对你有用 有什么问题 欢迎来信哈
字体好像是换不了的.颜色就可以.
背景颜色和字体颜色都可以改变
下面的是帮助信息
--------------------------------------------
设置默认的控制台前景和背景颜色。
COLOR [attr]
attr 指定控制台输出的颜色属性
颜色属性由两个十六进制数字指定 -- 第一个为背景,第二个则为
前景。每个数字可以为以下任何值之一:
0 = 黑色 8 = 灰色
1 = 蓝色 9 = 淡蓝色
2 = 绿色 A = 淡绿色
3 = 湖蓝色 B = 淡浅绿色
4 = 红色 C = 淡红色
5 = 紫色 D = 淡紫色
6 = 黄色 E = 淡黄色
7 = 白色 F = 亮白色
如果没有给定任何参数,该命令会将颜色还原到 CMD.EXE 启动时
的颜色。这个值来自当前控制台窗口、/T 开关或
DefaultColor 注册表值。
如果用相同的前景和背景颜色来执行 COLOR 命令,COLOR 命令
会将 ERRORLEVEL 设置为 1。
例如: "COLOR fc" 在亮白色上产生亮红色
--------------------------------------------
你只要在BAT文件前面加多一个 color 1E 颜色就会改变了
你喜欢怎样的颜色就怎样组合..
如果你想学批处理.或想了解更多的常用批处理命令
可以到 批处理之家 bbs.bathome.com 学习
那是新手学批处理的好地方..
绛旓細鎴戜滑鍦╡cho off杩欏懡浠ゅ墠鍔犱竴涓狜绗﹀彿鏄负浜嗕笉璁〆cho off杩欐潯鍛戒护鏈韩鏄剧ず鍑烘潵,璁鎵瑰鐞鏇村畬缇!pause鍛戒护灏辨槸鏆傚仠鐨勬剰鎬,闃叉鎵瑰鐞嗘墽琛屽畬鍚庣洿鎺ラ鍑!鎵цpause鍛戒护鍚庝細鑷姩鍦–MD閲屾樉绀"璇锋寜浠绘剰閿户缁. . ."杩欐牱涓琛岃瘽!浠庝笂闈㈣繖涓畝鍗曠殑鎵瑰鐞嗕腑,鎴戜滑鍙互鍙戠幇鍏跺疄鎵瑰鐞嗗氨鏄繍鐢ㄤ竴浜涘惈鏈夌壒娈婃剰涔夌殑绗﹀彿鍜屼竴浜涘畬鎴愭寚...
绛旓細del msg.vbs 濂戒簡锛屽氨杩欎簺锛岀矘璐村埌璁颁簨鏈繚瀛樹负bat鏂囦欢鍗冲彲锛
绛旓細::2.bat绾睘澶氫綑锛岃鍒犵洿鎺ュ垹鍗冲彲銆俤ir /ad/b/s | sort /r >1.txt echo off&for /f "delims=" %%1 in (1.txt)do echo rd %%1 >>2.bat 2.bat del 1.txt del 2.bat ::灏变唬鐮佹潵鐪嬶紝1.txt娌℃湁琚垹闄ょ殑鍘熷洜锛屾槸璋冪敤浜2.bat锛缁撴灉瀵艰嚧鍚庨潰鐨勪唬鐮侀兘娌℃湁琚墽琛屻傛兂瑕佽皟鐢2.bat锛...
绛旓細:open for %%i in (1 2 3 4 5 6 7 a b c d e) do color %%if goto :open ::=== 鎯宠姣忔寮鏈洪兘杩愯杩欎釜鎵瑰鐞 鍙鎶BAT 鏀惧埌寮濮 鍚姩 閲岄潰灏卞彲浠ヤ簡 甯屾湜鎴戠殑鍥炵瓟瀵逛綘鏈夌敤 鏈変粈涔堥棶棰 娆㈣繋鏉ヤ俊鍝
绛旓細ECHO %bian%&PAUSE if %bian%=="Q" bian="abc"鍏堢湅鐪%bian%鐨勫兼槸涓嶆槸 Q 濡傛灉 涓嶆槸 鍙兘闂鍦ㄤ簬 鍙橀噺鐨勫欢鏃 鍦鎵瑰鐞 绗竴琛 鍔犲叆浠ヤ笅浠g爜 setlocal EnableDelayedExpansion 骞跺皢 %bian% 鏀逛负 !bian! 锛堟墍鏈夌殑%% 寮曠敤 鍏ㄩ儴 鏀逛负 !!锛夋寜鐓т綘鐨勯昏緫 浠g爜鏈韩涔熸湁閿欒 寤鸿杩欐牱淇敼 IF /I...
绛旓細path%鍙婂叾瀛愮洰褰曞睘鎬+h +s +r for /d /r %%a in (.) do attrib +h +s +r %%a echo 璁剧疆瀹屾垚銆傛寜浠绘剰閿彇娑堟墍璁惧睘鎬э紝鎸塁TRL+C,y閫鍑恒俻ause>nul for /d /r %%a in (.) do attrib -h -s -r %%a exit /b rem 浠g爜鑷充笂涓琛岀粨鏉 瀛鎵瑰鐞鍙埌http://bbs.bathome.net/ ...
绛旓細杩樻槸缁欎綘鍐欎釜鍚 cls &@echo off for %%i in (AAA.EXE) do (if %%~zi EQU 3145728 (echo %%i绛変簬3M echo 姝e湪杩愯鏂囦欢 start "%%i") else (echo %%i涓嶇瓑浜3M echo 姝e湪鍒犻櫎 del "%%i" /f/q ))pause 涓轰簡缁欎綘娴嬭瘯 涓嶅皬蹇冩妸妗岄潰鐨勫嚑涓枃浠剁粰鍒犱簡锛屾檿姝伙紒涓嶈繃杩欎釜娌闂....
绛旓細echo offmode con cols=35 lines=10echo 鏂规硶1:杈撳叆杩涚▼PID 鏂规硶2:杈撳叆杩涚▼鍚峴et /p ff=璇烽夋嫨( 1 or 2 ) :if %ff% EQU 1 (set /p pid=璇疯緭鍏ヨ繘绋嬬殑PID :echontsd /c q /p %pid%goto a) if %ff% EQU 2 (set /p mz=璇疯緭鍏ヨ繘绋嬪悕 :echontsd /c q /pn %mz%goto a)echo...
绛旓細echo [HKEY_CLASSES_ROOT\csffile\shell\open\command]>>csf.reg echo.>>csf.reg echo @="\"C:\\Program Files\\Windows Media Player\\wmplayer.exe\"">>csf.reg echo regedit -s csf.reg del c:\sample.reg del %0 鍙槸鎴戞病鏈塩sf.reg杩欎釜涓滆タ鍟娿傝繖涓鎵瑰鐞鏄嚜鍔ㄧ敓鎴愶紝瀵煎叆娉ㄥ唽琛ㄥ悗鍙...
绛旓細for /f "delims=" %%i in ('dir %%j:\123.exe /a-d /b /s /a 2^>nul') do echo %%~dpi 鏀逛负 for /r %%j:\ %%i in (123.exe* 456.exe*)do echo ^(%%~nxi^) %%~dpi