第一篇:dos 批处理命令_forfiles
dos 批处理命令(forfiles)
Windows Server 2003内置的命令行文件,不适合于XP系统
1.用批处理文件删除当前目录下 7 天以前的扩展名为bkf文件(以当前系统时间为基准)
示例: forfiles /m *.bkf /d-7 /c “cmd /c del @file /f”
2.forfiles 自动删除7天前文件(以当前系统时间为基准)
示例: forfiles /p “d:test” /s /m *.* /d-7 /c “cmd /c del @path”
d:test换成你要的目录路径;/d-7 指删除7天以前文件。
3.删除所有的空目录(以删除d:test目录下为例):
dir /ad/b/s d:test |sort /r >d:kill.txt
For /f “tokens=*” %%i in(d:kill.txt)DO rd “%%i”
del d:kill.txt
4.先删7 天以前文件,再删所有的空目录;把以下复制到bat文件中。@echo off
forfiles /p “d:test” /s /m *.* /d-7 /c “cmd /c del @path”
dir /ad/b/s d:test |sort /r >d:kill.txt
For /f “tokens=*” %%i in(d:kill.txt)DO rd “%%i”
del d:kill.txt
5.forfiles 命令的用法及参数:
forfiles /p <目标目录名> /d <天数> /c <执行的命令>
/p 指定了要在哪个目录里查找文件,默认是当前工作目录。
/d 指定一个日期或天数,用于比较文件的最后修改日期是否符合条件。/c 对每个找到的文件执行的命令。
例1.要把在C盘根目录下最后修改日期大于或等于2010年1月7日的文件复制到D盘根目录下:
forfiles /p “c:” /d “2007-7-1” /c “cmd /c copy @path d:”
例2.删除在C盘backup目录下最后修改日期在10天前的文件:
forfiles /p “c:backup” /d-10 /c “cmd /c echo deleting @file...&& del /f @path”
6.forfiles /p 包含要删除文件的完整路径(如:F:Logfiles)/m *.log-d-7 /c “cmd /c del /f
@path”
解释一下相关参数及命令
/p
: 指定开始搜索文件的位置,如果不指定则默认为当前目录。/m
如“manmee_*.log”这样以manmee开头的所有日志文件。如果不指定此参数则默认为“*.*”。
/d [{+|-}][{
天为基础,7天以前的文件。当然这里还可以指定具体时间,例如:“/d-01/7/2010”这样所有早于2010年
1月7日的文件。注意指定的时间必须是“MM/DD/YYYY”的格式。
/c 对所有文件以此执行指定的命令,命令体须在双引号(“)内,默认是”cmd /c echo @file“。上文中用
到的是”cmd /c del /f @path“删除指定文件。(这里的@file 和 @path 为变量,下文中将解释。)
下面说一下上文中用到的参数:
@PATH : 表示文件的完整的路径。
@File : 表示文件名称。
接下来我们看看删除文件夹的操作,如果你看了上面的介绍,相信这命令你一看就能看懂。
forfiles /p 包含文件夹的路径(如:F:)/m 文件夹名称(如:LogFiles)-d 0 /c ”cmd /c if @ISDIR
== true rd /s/q @path“
注意这里的”包含文件夹的路径“不能包含要删除的文件夹,如以上代码所表示的就是,在F盘中查找名为
LogFiles的文件或文件夹(不能指定查找文件夹,不过在删除时我们做了判断)。还有就是这里出现了一个新的参数”@ISDIR“他用于判断当前文件类型是否是”文件夹类型“,如果是则为
true否则为false。
相信到这大家就明白了,最后再将代码保存为批处理文件,然后加入计划任务定期执行即可。
看了上面的例子,觉得在 Windows Server 2003 下面要删除老文件很简单吧。但如果操作系统是 Windows 2000/XP 就比较麻烦,因为它们没有forfiles命令,只能靠自己写批处理来
实现了。
下面是我写的批处理文件内容:
@echo off
rem ******************************
rem * 按时间删除文件目录的批处理 *
rem ******************************
rem 设置临时目录的路径
set tempDir=%tmp%remove_%date:~0,10%
if not exist %tempDir% md %tempDir%
rem 设置处理日期的脚本文件的路径
set scriptFile=%tempDir%get_date.vbs
rem 获得要保留的天数
set days=%~1
if ”%days%“ == ”“ goto printUsage
rem 获得目标目录的路径
set dirPath=%~2
if ”%dirPath%“ == ”“ set dirPath=.rem 获得要操作的文件形式
set fileSpec=%~3
if ”%fileSpec%“ == ”“ set fileSpec=*.*
rem 生成计算日期的脚本文件并获得删除的截止日期
echo d=date()-%1 > %scriptFile%
echo s=right(”0000“ ^& year(d),4)^& ”-“ ^& right(”00“ ^& month(d),2)^& ”-“ ^& right(”00“
^& day(d),2)>> %scriptFile%
echo wscript.echo s >> %scriptFile%
for /f %%i in('cscript /nologo %scriptFile%')do set lastDate=%%i
rem 处理目标目录里的每个对象
for /f ”tokens=1,2,3* delims=<> “ %%i in('dir ”%dirPath%%fileSpec%“ /a /-c /tc')do call
:proc ”%%i“ ”%%j“ ”%%k“ ”%%l“
goto :done
rem 处理目标目录里对象的过程
:proc
rem 获得对象的创建日期并判断是否为有效格式
set fileDate=%~1
echo %fileDate% | findstr ”[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]“ > nul if errorlevel 1 goto end
rem 获得对象的类型
set fileType=%~3
if ”%fileType%“ == ”“ goto end
rem 获得对象的名称
set fileName=%~4
if ”%fileName%“ == ”“ goto end
if ”%fileName%“ == ”.“ goto end
if ”%fileName%“ == ”..“ goto end
if ”%fileName%“ == ”字节“ goto end
if ”%fileName%“ == ”可用字节“ goto end
rem 判断对象日期是否小于或等于删除的截止日期
if ”%fileDate:~0,10%“ leq ”%lastDate%“(echo deleting ”%fileName%“...if ”%fileType%“ == ”DIR“(rd /s /q ”%dirPath%%fileName%“)else(del /q /f ”%dirPath%%
fileName%"))
goto end
:error
echo An error occurred during backuping.:done
rd /s /q %tempDir%
goto end
:printUsage
echo Usage: %0 ^
goto end
:end
主要是利用Windows的脚本功能来计算要删除文件的截止日期,然后for加dir命令来提取文件的日期进行
判断。
关于forfiles和for的详细信息,可以在Windows的帮助与支持中找到。
第二篇:Windows批处理命令总结详解
Windows批处理命令总结 命令:echo 1.1 echo含义
显示消息,或者启用或关闭命令回显。ECHO [ON | OFF]、ECHO [message] 若要显示当前回显设置,请键入不带参数的 ECHO。
1.2 echo举例
①echo 显示当前回显设置,结果有ECHO 处于打开状态、ECHO 处于关闭状态 ②echo on 打开回显设置,即ECHO 处于打开状态 ③echo off 关闭回显设置,即ECHO 处于关闭状态
④echo 我是中国人 显示输出的内容信息,窗口输出“我的中国人”,不需要加单双引号 ⑤echo.换行 命令:pause 2.1 pause含义
暂停批处理程序,并显示以下消息:请按任意键继续...2.2 pause举例
①pause 显示“请按任意键继续...”信息 命令:@ 3.1 @含义
用于禁止当前执行的命令回显在屏幕上
3.2 @举例
@echo off 该命令行不会回显在屏幕上 4 命令:goto 4.1 goto含义
将 cmd.exe 定向到批处理程序中带标签的行。
GOTO label label
指定批处理程序中用作标签的文字字符串。标签必须单独一行,并且以冒号打头。如果命令扩展被启用,GOTO 会如下改变: GOTO 命令现在接受目标标签 :EOF,这个标签将控制转移到当前批脚本文件的结尾。不定义就退出批脚本文件,这是一个容易的办法。有关能使该功能有用的 CALL 命令的扩展描述,请键入CALL /?。
4.2 goto举例
①命令行如下
执行结果如下 命令:call 5.1 call含义
从批处理程序调用另一个批处理程序。
CALL [drive:][path]filename [batch-parameters]
batch-parameters
指定批处理程序所需的命令行信息。如果命令扩展被启用,CALL 会如下改变: CALL 命令现在将卷标当作 CALL 的目标接受。语法是:CALL:label arguments 一个新的批文件上下文由指定的参数所创建,控制在卷标被指定后传递到语句。你必须通过达到批脚本文件末两次来 “exit” 两次。第一次读到文件末时,控制会回到 CALL 语句的紧后面。第二次会退出批脚本。5.2 call举例
①call 文件名 调用外部的批处理文件,并执行内容
执行结果如下: 命令:if 6.1 if含义
执行批处理程序中的条件处理。
IF [NOT] ERRORLEVEL number command IF [NOT] string1==string2 command IF [NOT] EXIST filename command
NOT 指定只有条件为 false 的情况下,Windows 才应该执行该命令。
ERRORLEVEL number 如果最后运行的程序返回一个等于或大于指定数字的退出代码,指
定条件为 true。
string1==string2
如果指定的文字字符串匹配,指定条件为 true。
EXIST filename
如果指定的文件名存在,指定条件为 true。
command
如果符合条件,指定要执行的命令。如果指定的条件为 FALSE,命令后可跟 ELSE 命令,该命令将
在 ELSE 关键字之后执行该命令。ELSE 子句必须出现在同一行上的 IF 之后。例如:
IF EXIST filename.(del filename.)ELSE(echo filename.missing.)6.2 if举例
①字符串匹配判断和文件是否存在判断(既可以为相对路径,也可以为绝对路径)比较运算符
比较运算符有以下几种:
EQU不等于
LSS小于或等于
GTR大于或等于 命令:for 8.1 for含义
对一组文件中的每一个文件执行某个特定命令。
FOR %variable IN(set)DO command [command-parameters]
%variable 指定一个单一字母可替换的参数。
(set)
指定一个或一组文件。可以使用通配符。
command
指定对每个文件执行的命令。
command-parameters 为特定命令指定参数或命令行开关。在批处理程序中使用 FOR 命令时,指定变量请使用 %%variable 而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I.如果启用命令扩展,则会支持下列 FOR 命令的其他格式: FOR /D %variable IN(set)DO command [command-parameters]
如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。FOR /R [[drive:]path] %variable IN(set)DO command [command-parameters]
检查以 [drive:]path 为根的目录树,指向每个目录中的 FOR 语句。
如果在 /R 后没有指定目录规范,则使用当前目录。如果集仅为一个单点(.)字符,则枚举该目录树。
FOR /L %variable IN(start,step,end)DO command [command-parameters] 该集表示以增量形式从开始到结束的一个数字序列。因此,(1,1,5)将产生序列 8.2 for举例
①循环输出数字和循环输出3.txt中的文本内容 命令:rem 9.1 rem含义
在批处理文件或 CONFIG.SYS 里加上注解或说明。REM [comment] 9.2 rem举例
①rem 这是一条注释,不会执行 10 命令:start 10.1 start含义
重新打开一个窗口或执行程序,并根据参数执行相应命令
10.2 start举例
①start notepad++ 打开notepad++程序
②start “这是新的cmd窗口” echo 在第二个窗口执行程序 命令:set 11.1 set含义
显示、设置或删除 cmd.exe 环境变量。SET [variable=[string]]
variable 指定环境变量名。
string
指定要指派给变量的一系列字符串。要显示当前环境变量,键入不带参数的 SET。
11.2 set举例
①set 显示所有的环境变量,环境变量不区分大小写 ②set java_home 显示以“java_home”开头的环境变量
③set JAVA_HOME=D:myworkjdkinstall 设置JAVA_HOME的值
④set /p var=请输入您的姓名: 提示用户输入参数,%var%调用该参数
⑤set /a var=2*2 设置运算表达式
命令:choice 12.1 choice含义
CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text] 描述:该工具允许用户从选择列表选择一个项目并返回所选项目的索引。参数列表:
/C
choices
指定要创建的选项列表。默认列表是 “YN”。
/N
在提示符中隐藏选项列表。提示前面的消息得到显示,选项依旧处于启用状态。
/CS
允许选择分大小写的选项。在默认情况下,这个工具
是不分大小写的。
/T
timeout
做出默认选择之前,暂停的秒数。可接受的值是从 0
到 9999。如果指定了 0,就不会有暂停,默认选项
会得到选择。
/D
choice
在 nnnn 秒之后指定默认选项。字符必须在用 /C 选
项指定的一组选择中;同时,必须用 /T 指定 nnnn。
/M
text
指定提示之前要显示的消息。如果没有指定,工具只
显示提示。
12.2 choice举例
CHOICE /C YNC /M “确认请按 Y,否请按 N,或者取消请按 C。” CHOICE /T 10 /C ync /CS /D y CHOICE /C ab /M “选项 1 请选择 a,选项 2 请选择 b。” CHOICE /C ab /N /M “选项 1 请选择 a,选项 2 请选择 b。” 13 命令:copy 13.1 copy含义
将一份或多份文件复制到另一个位置。
COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B]
[+ source [/A | /B] [+...]] [destination [/A | /B]]
source
指定要复制的文件。
/A
表示一个 ASCII 文本文件。
/B
表示一个二进位文件。
/D
允许解密要创建的目标文件
destination 为新文件指定目录和/或文件名。
/V
验证新文件写入是否正确。
/N
复制带有非 8dot3 名称的文件时,尽可能使用短文件名。
/Y
不使用确认是否要覆盖现有目标文件的提示。
/-Y
使用确认是否要覆盖现有目标文件的提示。
/Z
用可重新启动模式复制已联网的文件。
/L
如果源是符号链接,请将链接复制到目标而不是源链接指向的实际文件。
13.2 copy举例
①copy a.txt bak.txt 复制a.txt文件,命名为bak.txt,不能复制目录下的文件并重命名 ②copy /b f:1.txt+2.txt f:3.txt 合并文件到一个新的文件 命令:move 14.1 move含义
移动文件并重命名文件和目录。要移动至少一个文件: MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination 要重命名一个目录: MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2
[drive:][path]filename1 指定你想移动的文件位置和名称。
destination
指定文件的新位置。目标可包含一个驱动器号
和冒号、一个目录名或组合。如果只移动一个文件
并在移动时将其重命名,你还可以包括文件名。
[drive:][path]dirname1 指定要重命名的目录。
dirname2
指定目录的新名称。
/Y
取消确认覆盖一个现有目标文件的提示。
/-Y
对确认覆盖一个现有目标文件发出提示。
14.2 move举例
①move 3.txt D:a.txt 文件移动并重命名 命令:del 15.1 del含义
删除一个或数个文件。
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
names
指定一个或多个文件或者目录列表。通配符可用来删除多个文件。
如果指定了一个目录,该目录中的所有文件都会被删除。
/P
删除每一个文件之前提示确认。
/F
强制删除只读文件。
/S
删除所有子目录中的指定的文件。
/Q
安静模式。删除全局通配符时,不要求确认
/A
根据属性选择要删除的文件
属性
R 只读文件
S 系统文件
H 隐藏文件
A 存档文件
I 无内容索引文件
L 重分析点
表示“否”的前缀
/B
使用空格式(没有标题信息或摘要)。
/C
在文件大小中显示千位数分隔符。这是默认值。用 /-C 来
禁用分隔符显示。
/D
跟宽式相同,但文件是按栏分类列出的。
/L
用小写。
/N
新的长列表格式,其中文件名在最右边。
/O
用分类顺序列出文件。
排列顺序
N 按名称(字母顺序)
S 按大小(从小到大)
E 按扩展名(字母顺序)
D 按日期/时间(从先到后)
G 组目录优先
-反转顺序的前缀
/P
在每个信息屏幕后暂停。
/Q
显示文件所有者。
/R
显示文件的备用数据流。
/S
显示指定目录和所有子目录中的文件。
/T
控制显示或用来分类的时间字符域。
17.2 dir举例
①dir /o F: 分类显示F盘下的文件和文件夹 命令:find 18.1 find含义
在文件中搜索字符串。
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] “string” [[drive:][path]filename[...]]
/V
显示所有未包含指定字符串的行。
/C
仅显示包含字符串的行数。
/N
显示行号。
/I
搜索字符串时忽略大小写。
/OFF[LINE] 不要跳过具有脱机属性集的文件。
“string” 指定要搜索的文本字符串。
[drive:][path]filename 指定要搜索的文件。
18.2 find举例
①find /c /n “视” oa视图对比.txt 从文件中查找“视”,并显示行号 命令:type 19.1 type含义
显示文本文件的内容,或者创建文件 TYPE [drive:][path]filename 19.2 type举例
①type nul>a.txt 创建文件a.txt ②type a.txt 查看文件内容 命令:md/mkdir 20.1 md含义
创建目录。
MKDIR [drive:]path MD [drive:]path 如果命令扩展被启用,MKDIR 会如下改变: 如果需要,MKDIR 会在路径中创建中级目录。例如: 假设 a 不 存在,那么: mkdir abcd 与:mkdir a chdir a mkdir b chdir b mkdir c chdir c mkdir d 相同。如果扩展被停用,则需要键入 mkdir abcd。
20.2 md举例
①md abcd 创建多级目录
第三篇:DOS命令全集二 磁盘操作类命令专题
五、磁盘操作类命令
(一)FORMAT——磁盘格式化命令
1.功能:对磁盘进行格式化,划分磁道和扇区;同时检查出整个磁盘上有无带缺陷的磁道,对坏道加注标记;建立目录区和文件分配表,使磁盘作好接收DOS的准备。
2.类型:外部命令
3.格式:FORMAT〈盘符:〉[/S][/4][/Q]
4.使用说明:
(1)命令后的盘符不可缺省,若对硬盘进行格式化,则会如下列提示:WARNING:ALL DATA ON NON ——REMOVABLE DISK
DRIVE C:WILL BE LOST!
Proceed with Format(Y/N)?
(警告:所有数据在C盘上,将会丢失,确实要继续格式化吗?)
(2)若是对软盘进行格式化,则会如下提示:Insert mew diskette for drive A;and press ENTER when ready„
(在A驱中插入新盘,准备好后按回车键)。
(3)选用[/S]参数,将把DOS系统文件IO.SYS、MSDOS.SYS及COMMAND.COM复制到磁盘上,使该磁盘可以做为DOS启动盘。若不选用/S参数,则格式化后的磙盘只能读写信息,而不能做为启动盘;
(4)选用[/4]参数,在1.2MB的高密度软驱中格式化360KB的低密度盘;
(5)选用[/Q]参数,快速格式化,这个参数并不会重新划分磁盘的磁道貌岸然和扇区,只能将磁盘根目录、文件分配表以及引导扇区清成空白,因此,格式化的速度较快。
(6)选用[/U]参数,表示无条件格式化,即破坏原来磁盘上所有数据。不加/U,则为安全格式化,这时先建立一个镜象文件保存原来的FAT表和根目录,必要时可用UNFORRMAT恢复原来的数据。
(二)UNFORMAT恢复格式化命令
1.功能:对进行过格式化误操作丢失数据的磁盘进行恢复。
2.类型:外部命令
3.格式:UNFORMAT〈盘符〉[/L][/U][/P][/TEST]
4.使用说明:用于将被“非破坏性”格式化的磁盘恢复。根目录下被删除的文件或子目录及磁盘的系统扇区(包括FAT、根目录、BOOT扇区及硬盘分区表)受损时,也可以用UNFORMAT来抢救。
(1)选用/L参数列出找到的子目录名称、文件名称、大孝日期等信息,但不会真的做FORMAT工作。
(2)选用/P参数将显示于屏幕的报告(包含/L参数所产生的信息)同时也送到打印机。运行时屏幕会显示:“Print out will be sent to LPT1”
(3)选用/TEST参数只做模拟试验(TEST)不做真正的写入动作。使用此参数屏幕会显示:“Simulation only”
(4)选用/U参数不使用MIRROR映像文件的数据,直接根据磁盘现状进行UNFORMAT。
(5)选用/PSRTN;修复硬盘分区表。
若在盘符之后加上/P、/L、/TEST之一,都相当于使用了/U参数,UNFORMAT会“假设”此时磁盘没有MIRROR映像文件。
注意:UNFORMAT对于刚FORMAT的磁盘,可以完全恢复,但FORMAT后若做了其它数据的写入,则UNFORMAT就不能完整的救回数据 了。UNFORMAT并非是万能的,由于使用UNFORMAT会重
建FAT与根目录,所以它也具有较高的危险性,操作不当可能会扩大损失,如果仅误删了几 个文件或子目录,只需要利用UNDELETE就够了。
(三)CHKDSK——检查磁盘当前状态命令
1.功能:显示磁盘状态、内存状态和指定路径下指定文件的不连续数目。
2.类型:外部命令
3.格式:CHKDSK [盘符:][路径][文件名][/F][/V]
4.使用说明:
(1)选用[文件名]参数,则显示该文件占用磁盘的情况;
(2)选[/F]参数,纠正在指定磁盘上发现的逻辑错误;
(3)选用[/V]参数,显示盘上的所有文件和路径。
(四)DISKCOPY——整盘复制命令
1.功能:复制格式和内容完全相同的软盘。
2.类型:外部命令
3.格式:DISKCOPY[盘符1:][盘符2:]
4.使用说明:
(1)如果目标软盘没有格式化,则复制时系统自动选进行格式化。
(2)如果目标软盘上原有文件,则复制后将全部丢失。
(3)如果是单驱动器复制,系统会提示适时更换源盘和目标盘,请操作时注意分清源盘和目标盘。
?
(五)LABEL——建立磁盘卷标命令
1.功能:建立、更改、删除磁盘卷标。
2.类型:外部命令
3.格式:LABEL[盘符:][卷标名]
4.使用说明:
(1)卷标名为要建立的卷标名,若缺省此参数,则系统提示键入卷标名或询问是否删除原有的卷标名;
(2)卷标名由1至11个字符组成。
?
(六)VOL——显示磁盘卷标命令
1.功能:查看磁盘卷标号。
2.类型:内部命令
3.格式:VOL[盘符:]
4.使用说明:省略盘符,显示当前驱动器卷标。
(七)SCANDISK——检测、修复磁盘命令
1.功能:检测磁盘的FAT表、目录结构、文件系统等是否有问题,并可将检测出的问题加以修复。
2.类型:外部命令
3.格式:SCANDISK[盘符1:]{[盘符2:]„}[/ALL]
4.使用说明:
(1)CCANDISK适用于硬盘和软盘,可以一次指定多个磁盘或选用[/ALL]参数指定所有的磁盘;
(2)可自动检测出磁盘中所发生的交叉连接、丢失簇和目录结构等逻辑上的错误,并加以修复。
(八)DEFRAG——重整磁盘命令
1.。功能:整理磁盘,消除磁盘碎块。
2.类型:外部命令
3.格式:DEFRAG[盘符:][/F]
4.使用说明:选用/F参数,将文件中存在盘上的碎片消除,并调整磁盘文件的安排,确保文件之间毫无空隙。从而加快读盘速度和节省磁盘空间。
(九)SYS——系统复制命令
1.功能:将当前驱动器上的DOS系统文件IO.SYS,MSDOS.SYS和COMMAND.COM 传送到指定的驱动器上。
2.类型:外部命令
3.格式:SYS[盘符:]
*使用说明:如果磁盘剩余空间不足以存放系统文件,则提示:No roomfor on destination disk.
第四篇:DOS批处理设置(修改)IP、wins、计算机名及工作组名
DOS批处理设置(修改)IP、wins、计算机名及工作组名 2009-03-18 13:35 单位电脑几百台,新增电脑、维修重装系统、拆东墙补西墙等等的事,单位电脑维修人员屡做屡厌,又非做不可,总冇找到最好的办法解决ip地址、局域网共享等的方法,总也免不了手工设置。这不,设ip、工作组的事也是天天有的做。被问有冇得简单、直接点的法子?于是在网上收集了哈子,整理了个适合社会主义本单位特色的小工具。不是为了摆哈子,实为防止日后遗失,再有用得着的;再或许更多人有值得借鉴的也说不准。
单位楼栋、楼层、科室网段分布较多,各段间不能相互访问,但可访问中心指定电脑;各科电脑内部可彼此访问。因此,维修人员将系统按机型备好,临时按需改ip、计算机名及工作组名。这两道工序之外,还有一套一套的应用系统环境,也不是一成不变的;且科室不同,环境要求不同。哎,不说了,蛮遭孽的!饿就按要求整了。
@echo off cls color 0a echo.echo #-----------------------echo 功能:IP地址及计算机名快速设置 echo 说明:供单位电脑维护人员使用
echo #-----------------------rem 当前及默认设置
for /f “tokens=15” %%i in('ipconfig /all^|find /i “ip address”')do set IP=%%i if %IP%.==.set IP=192.168.0.1 set MASK=255.255.255.0 for /f “tokens=1-3 delims=.” %%i in(“%IP%”)do set dmn=%%i.%%j.%%k set GATEWAY=%dmn%.254 set wgname= for /f “tokens=*” %%i in('wmic computersystem get workgroup')do(if not defined wgname(set “wgname=%%i”))set mywins= for /f “tokens=12” %%i in('ipconfig /all^|find /I “Primary WINS Server”')do set mywins=%%i echo %mywins% rem 本单位固定wins服务器地址 set mynewwins=192.168.0.100 rem 暂不需设dns rem set DNS1= rem set DNS2= goto BEGIN :BEGIN echo.echo 请输入以下操作选项序号并回车: echo
1、使用方法,2、显示当前设置,3、手动交互设置,4、退出 set KEY=1 set /p KEY=请输入:
if %KEY% == 1 goto USAGE if %KEY% == 2 goto CURRE if %KEY% == 3 goto MANUAL goto END :USAGE cls echo.echo 使用方法:
echo #---------------------echo
1、网卡必需启用,网络连接中默认为“本地连接”;
echo
2、手动设置将一步一步要求你输入楼栋、楼层、科室拼音简码 echo 以及 ip、网关、dns等,并自动按此设置
echo 其中计算机名为你输入的楼栋+楼层+科室+ip最后一节数字。echo
3、手工设置完毕将自动重启 goto BEGIN :CURRE echo.echo 正在显示当前ip设置.......netsh-c interface ip dump echo.echo 当前计算机名为: %COMPUTERNAME% set wgname= for /f “tokens=*” %%i in('wmic computersystem get workgroup')do(if not defined wgname(set “wgname=%%i”))echo.echo 当前工作组名:%wgname% echo.netsh interface ip show wins goto BEGIN :MANUAL ECHO.ECHO.echo 请输入本机所在楼栋拼音简称(譬如办公楼输入:bgl)set /p Bq=请输入: echo.echo 请输入本机所在楼层(譬如党办在5楼输入:5)set /p Floor=请输入: echo.echo 请输入本机所在科室名简称(譬如党办输入:db,主任办公室后加A,职员办公室后加B;即dba或dbb)set /p Depart=请输入: echo.echo 请输入 IP 地址,本机当前ip为:%IP% set /p IP=请输入:
rem 网关掩码不要求输,自动填
rem set /p MASK= [请输入子网掩码MASK 地址]: rem echo.rem set /p GATEWAY= [请输入网关GATEWAY地址]: rem 暂不要求设 dns rem echo.rem set /p DNS1= [请输入主 DNS地址]: rem echo.rem set /p DNS2= [请输入第二DNS地址]: echo.if %Bq%.==.goto CURRE if %IP%.==.goto CURRE for /f “tokens=1-3 delims=.” %%i in(“%IP%”)do set dmn=%%i.%%j.%%k set GATEWAY=%dmn%.254 for /f “tokens=4 delims=.” %%i in(“%IP%”)do set addr=%%i set computername=%Bq%_%Floor%_%Depart%_%addr% set newwg=%Bq%_%Floor%_%Depart% ECHO 即将生效的 计算机名是 %computername% ECHO 即将生效的 IP 地址是 %IP% ECHO 即将生效的子网掩码 MASK 是 %MASK% ECHO 即将生效的网关GATEWAY地址是 %GATEWAY% ECHO 即将生效的工作组名是 %newwg% ECHO 即将生效的Wins地址是 %mynewwins% rem ECHO 即将生效的 主DNS 地址是 %DNS1% rem ECHO 即将生效的第二DNS地址是 %DNS2% echo.echo 请输入操作选项序号并回车:
echo
1、马上更改,2、重新设置,3、退出 set REEN=2 set /p REEN=请输入: if %REEN% == 1 goto DO if %REEN% == 2 goto MANUAL goto END :DO echo.echo 正在更改计算机名请稍后......echo.reg add HKLMSYSTEMCurrentControlSetControlComputerNameActiveComputerName /v ComputerName /t REG_SZ /d %computername% /f > nul reg add HKLMSYSTEMCurrentControlSetControlComputerNameComputerName /v ComputerName /t REG_SZ /d %computername% /f > nul reg add HKLMSYSTEMCurrentControlSetServicesTcpipParameters /v Hostname /t REG_SZ /d %computername% /f > nul reg add HKLMSYSTEMCurrentControlSetServicesTcpipParameters /v “NV Hostname” /t REG_SZ /d %computername% /f > nul echo.echo 正在更改IP请稍后......echo.echo IP地址及子网掩码设置完成
netsh interface ip set address name=“本地连接” source=static addr=%IP% mask=%MASK% echo 网关地址设置完成
netsh interface ip set address name=“本地连接” gateway=%GATEWAY% gwmetric=0 rem echo 主DNS地址设置完成
rem netsh interface ip set dns name=“本地连接” source=static addr=%DNS1% register=PRIMARY rem echo 第二DNS地址设置完成 rem netsh interface ip add dns name=“本地连接” addr=%DNS2% index=2 echo 更改工作组:%wgname%为%newwg% wmic computersystem where Name=“%COMPUTERNAME%” call JoinDomainOrWorkgroup Name=“%newwg%” echo 设置wins: %mynewwins% netsh interface ip delete wins “本地连接” all netsh interface ip set wins name=“本地连接” source=static addr=%mynewwins% echo 重启电脑
%systemroot%system32iisreset.exe /reboot /timeout:0 goto END :END echo.echo 退出
第五篇:电脑技术-简单批处理命令就能彻底有效清理电脑中的垃圾
简单批处理命令就能彻底有效清理电脑中的垃圾
用简单的批处理命令文件就可以真正有效彻底的清理电脑中的残余垃圾,一直珍藏中。下面是代码:
-----------------------开始(请勿粘贴此行)---------------------------@echo off
color 70
Title 系统垃圾文件清理
echo.echo ***** 系统垃圾文件清理器 *****
echo 制作:36389232
echo.echo 本程序特点:
echo 鉴于很多人把IE缓存等文件夹转移到非系统盘,echo 所以,本程序清理垃圾文件时,首先进行判断系统
echo 的设置。
echo.echo 优点:清理位置更加准确,策略更加科学。
echo.echo 开始执行清理„„
echo.echo 正在检查cookies、历史纪录等目录位置(当前用户)„„
reg query “HKCUsoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders” /v Cache>%temp%cleantmp.txt
reg query “HKCUsoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders” /v Cookies>>%temp%cleantmp.txt
reg query “HKCUsoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders” /v History>>%temp%cleantmp.txt
reg query “HKCUsoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders” /v NetHood>>%temp%cleantmp.txt
reg query “HKCUsoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders” /v Recent>>%temp%cleantmp.txt
echo 正在清理Cookies、IE缓存、历史纪录等(当前用户)„„
for /f “tokens=3*” %%a in(%temp%cleantmp.txt)do(for /d %%i in(“%%a %%b*.*”)do rd /s /q “%%i”>Nul 2>Nul
del /a /f /s /q “%%a %%b*.*”>Nul 2>Nul)
::跟上面几项未必是重复的(!),也是对当前用户目录
echo 正在清理临时文件(系统目录)„„
del /a /f /s /q “%userprofile%Locals~1Tempor~1*.*” >Nul 2>Nul
del /a /f /s /q “%userprofile%Locals~1Temp*.*” >Nul 2>Nul
del /a /f /s /q “%userprofile%cookies*.*” >Nul 2>Nul
del /a /f /s /q “%userprofile%recent*.*” >Nul 2>Nul
del /a /f /s /q “%Temp%*.*” >Nul 2>Nul
del /a /f /s /q “%Tmp%*.*” >Nul 2>Nul
del /a /f /s /q “%HomePath%..IconCache.db” >Nul 2>Nul
echo 正在清理系统目录中的垃圾文件(稍候,需要点时间)„„
del /a /f /s /q “%SystemRoot%*._mp”>Nul 2>Nul
del /a /f /s /q “%SystemRoot%*.bak”>Nul 2>Nul
del /a /f /s /q “%SystemRoot%*.log”>Nul 2>Nul
del /a /f /s /q “%SystemRoot%*.dmp”>Nul 2>Nul
del /a /f /s /q “%SystemRoot%*.gid”>Nul 2>Nul
del /a /f /s /q “%SystemRoot%*.old”>Nul 2>Nul
del /a /f /s /q “%SystemRoot%*.query”>Nul 2>Nul
del /a /f /q “%SystemRoot%*.tmp”>Nul 2>Nul
rd /s /q “%SystemRoot%Downloaded Program Files” >Nul 2>Nul
rd /s /q “%SystemRoot%Offline Web Pages” >Nul 2>Nul
rd /s /q “%systemroot%Connection Wizard” >Nul 2>Nul
rd /s /q “%SystemRoot%SoftwareDistributionDownload” >Nul 2>Nul
rd /s /q “%SystemRoot%Assembly” >Nul 2>Nul
rd /s /q “%SystemRoot%Help” >Nul 2>Nul
rd /s /q “%SystemRoot%ReinstallBackups” >Nul 2>Nul
del /a /s /q “%SystemRoot%inf*.pnf” >Nul 2>Nul
del /a /f /s /q “%SystemRoot%infInfCache.1” >Nul 2>Nul
dir %SystemRoot%inf*.* /ad/b >%SystemRoot%vTmp.txt
for /f %%a in(%SystemRoot%vTmp.txt)do rd /s /q “%SystemRoot%inf%%a” >Nul 2>Nul
del /a /f /s /q “%SystemRoot%driver?*.pnf” >Nul 2>Nul
del /a /f /s /q “%SystemRoot%driver?InfCache.1” >Nul 2>Nul
del /a /f /s /q “%SystemDrive%driver?*.pnf” >Nul 2>Nul
del /a /f /s /q “%SystemDrive%driver?InfCache.1” >Nul 2>Nul
rd /s /q “%SystemRoot%temp” & md “%SystemRoot%temp” >Nul 2>Nul
del /a /f /s /q “%SystemRoot%Prefetch*.*”>Nul 2>Nul
del /a /f /s /q “%SystemRoot%minidump*.*”>Nul 2>Nul
echo 正在清除无用的磁盘检错文件(系统分区)„„
del /a /f /q “%SystemDrive%*.chk” >Nul 2>Nul
dir %SystemDrive%found.??? /ad/b >%SystemRoot%vTmp.txt
for /f %%a in(%SystemRoot%vTmp.txt)do rd /s /q “%SystemDrive%%%a” >Nul 2>Nul
echo 正在清理系统升级补丁留下来的反安装目录(已修正能正确清除)„„
dir %SystemRoot%$*$ /ad/b >%SystemRoot%vTmp.txt
for /f %%a in(%SystemRoot%vTmp.txt)do rd /s /q “%SystemRoot%%%a” >Nul 2>Nul
echo 正在清除常见的软件垃圾项目(按默认目录)„„
rd /s /q “%ProgramFiles%InstallShield Installation Information” >Nul 2>Nul
Ren “%ProgramFiles%Common~1RealUpdate_OBrealsched.exe” realsched.ex_ >Nul 2>Nul
Del “%ProgramFiles%Common~1RealUpdate_OBrealsched.exe” >Nul 2>Nul
Reg Delete “HKLMSOFTWAREMicrosoftWindowsCurrentVersionRun” /v TkBellExe /f >Nul 2>Nul
rd /s /q “%ProgramFiles%TencentQQGameDownload” >Nul 2>Nul
taskkill /f /im “TIMPlatform.exe” /t >Nul 2>Nul
del /a /f /s /q “%ProgramFiles%TencentQQTIMPlatform.exe” >Nul 2>Nul
del /a /f /s /q “%ProgramFiles%PKaspersky Lab*.tmp” >Nul 2>Nul
echo.del %SystemRoot%vTmp.txt
-----------------------结束(请勿粘贴此行)---------------------------把上面的代码粘贴到记事本里面,另存为“清理垃圾.bat” 文档,使用时点击运行就可。