1.注释(:: 注释内容(第一个冒号后也可以跟任何一个非字母数字的字符)rem 注释内容(不能出现重定向符号和管道符号))
rem 注释
或者
::注释 (建议用这个)
===========================================================================================================================================
2.输出内容
echo 内容
输出 内容
echo "内容"
输出 "内容"
echo 内容 >c:\test.txt
echo 内容 >>c:\test.txt
===========================================================================================================================================
3.启动某个文件
直接输入文件名
E:\桌面\img20200226_0061.pdf
或者
start E:\桌面\img20200226_0061.pdf
call P1100_P1560_P1600.exe
::\q静默安装
\ereach-06\驱动\优速电子面单\UCESetupV1.msi /q
::路径带空格的话要用双引号扩住
"D:\Program Files (x86)"\labelPrintClient\NALWAYClient.exe
::用at命令启动srv.exe吧(这里设置的时间要比主机时间快,不然你怎么启动啊,呵呵!)
at \127.0.0.1 11:05 srv.exe
===========================================================================================================================================
4.定义变量
::默认赋值就是赋值字符串,而且也不用加双引号
set a=hello world
echo %a%
::如果想赋值数字,需要再 set 后边添加命令参数 /a。
set /a num=1
===========================================================================================================================================
5.让命令行界面只显示输出结果,不显示执行的命令,用@echo off
@echo off
echo 这是测试内容的第1行
===========================================================================================================================================
6.让命令行界面执行完命令,不退出,而是直接一直显示用pause
@echo off
echo 这是测试内容的第1行
pause
::可以使用两个@echo off 限制之间的代码不显示出来,@echo.服务启动......也相当于在屏幕“显示服务启动......”
@echo.服务启动......
@echo off
@sc create 服务名 binPath= "C:\Users\Administrator\Desktop\win32srvdemo\win32srvdemo\Debug\win32srvdemo.exe"
@net start 服务名
@sc config 服务名 start= AUTO
@echo off
@echo.启动完毕!
@pause
===========================================================================================================================================
7.截取字符串
set a=0123456
::字符串索引从0开始,:~1,3代表截取索引从1到3的字符,也就是123
echo %a:~1,3%
::输出结果为123
===========================================================================================================================================
8.服务管理
::安装服务 服务名:指创建的Windows服务名 binPath:指Windows服务程序的路径
sc create 服务名 binPath= "C:\Users\Administrator\Desktop\win32srvDemo\win32srvdemo\Debug\win32srvDemo.exe"
::配置服务 start=AUTO (自动) start=DEMAND (手动) start=DISABLED (禁用)
sc config 服务名 start=AUTO
::开启服务
net start 服务名
::关闭服务
net stop 服务名
::删除服务,记得删除前要关闭服务
net delete 服务名
::重启服务
net restart 服务名
===========================================================================================================================================
9.重启系统服务
::服务器名使用的是服务管理器service.msc里服务常规下的服务名称,而不是显示名称
::net stop 服务名称
net stop Spooler
net start Spooler
net restart Spooler
::设置服务器启动类型 DEMAND手动 AUTO自动 DISABLED禁用 start= Disabled 空格不能省略
sc config Spooler start= Disabled
实例1 停止服务:
net stop Spooler
sc config Spooler start= demand
实例2 启动服务:
net start Spooler
sc config Spooler start= AUTO
===========================================================================================================================================
10.文件处理
::创建一个空文件,批处理中可以使用type命令获取文件内容,当一个文件太大以至于打不开时,也可以使用type命令查看文件内容。
type nul>c:\test2.txt
::查看文件内容 显示在命令行 不打开文件
type c:\test2.txt
内容如下:
C:\Users\zwj>type c:\test2.txt
111111111111111111
11111111111
11111111
C:\Users\zwj>
::批处理创建带有内容的文件
echo 123 >c:\test3.txt
type c:\test3.txt
::批处理创建多行内容的文件,多行就老老实实写多几行echo
(
echo 123=0
echo asd=1
echo mdf=2
echo zxc=3
echo 369=4
) >>c:\test4.txt
type c:\test4.txt
::删除文件(del命令非常危险,直接删除,不会放到回收站)
del c:\test4.txt
del /f /q c:\test4.txt
::修改文件名称(rename)test2.txt改名为test22.txt 第一个要修改的参数才要全路径,第二个新名称不用全路径
ren c:\test2.txt test22.txt
::复制文件 c:\test.txt复制到d:\ 如果同名会提示是否覆盖 copy /? /y直接覆盖不提示信息
copy c:\test.txt d:\
copy c:\test.txt d:\ /y
::移动并重命名文件 如果有同名直接不移动
move c:\test3.txt d:\
::移动并覆盖文件 /y参数在CMD界面无法使用 默认把这条命令加到bat里,执行他就会自动覆盖D盘的test3.txt文件,不需要加/y参数
move c:\test3.txt d:\test3.txt
::移动test3.txt,并重命名为test4.txt
move c:\test3.txt d:\test4.txt
::启用文件和打印机共享
netsh advfirewall firewall set rule group="文件和打印机共享" new enable=yes
::批处理添加文件共享
::查看当前计算机有哪些本地文件夹是正在共享的
net share
::查看当前计算机有哪些本地文件夹是正在共享的
net share
::删除C:共享
net share c$ del
::意思是将d:\mp3共享,共享名为mp3$, /unlimited在服务器用的多,就是不限制连接的人数, 反之,如果要限制连接数,就用/users:8意思是限制最多同时连接数为8台电脑。 /remark是解释,/cache:no 不需要脱机缓存。
net share mp3$=d:\mp3 /unlimited /remark:"这是一个完全共享" /CACHE:No 默认开启everyone为只读权限
::意思是将d:\mp3共享,共享名为mp3$,/users:8意思是限制最多同时连接数为8台电脑 默认开启everyone为只读权限
net share mp3$=d:\mp3 /USERS:8 /remark:"这是一个完全共享" /CACHE:No
::将d:\mp3共享,共享名为mp3$ everyone权限为full zwj权限为full 有read change full三种权限
net share mp3$=d:\mp3 /grant:everyone,full /grant:zwj,full
::查看共享详细信息
net share mp3$
::删除共享用net share mp3$ /delete
net share mp3$ /delete
::创建快捷方式,复制到bat文件
echo [InternetShortcut]>>"%USERPROFILE%\桌面\BatMPlayer.url"
echo URL="C:\BatMPlayer\BatMPlayer.bat">>"%USERPROFILE%\桌面\BatMPlayer.url"
echo IconIndex=99>>"%USERPROFILE%\桌面\BatMPlayer.url"
echo IconFile=%SystemRoot%\system32\SHELL32.dll>>"%USERPROFILE%\桌面\BatMPlayer.url"
11.帮助命令
rd /?
net time /help
C:\Users\zwj>rd /?
删除一个目录。
RMDIR [/S] [/Q] [drive:]path
RD [/S] [/Q] [drive:]path
/S 除目录本身外,还将删除指定目录下的所有子目录和
文件。用于删除目录树。
/Q 安静模式,带 /S 删除目录树时不要求确认
C:\Users\zwj>
===========================================================================================================================================
12.命令的参数不区分大小写,文档写的是大写,实际用小写也可以的
rd /s /q c:\test1\
rd /S /Q c:\test1\
===========================================================================================================================================
13.目录处理
::查看目录内容
dir c:\
::创建目录
md c;\test\
::创建多级目录
md c:\test\abc\a\b\c\
::删除没有子目录的空目录 C:\test1\为空目录,没有文件,没有子目录等 (rd命令非常危险,直接删除,不会放到回收站)
rd c:\test1\
::删除没有子目录,但是有文件的非空目录 /s 除目录本身外,还将删除指定目录下的所有子目录和文件。用于删除目录树。 /q queit安静
rd /s /q c:\test1\
::::删除有很多级子目录,而且也有文件(子目录也有文件)的非空目录
rd /s /q c:\test1\
::更改目录名称 第二个新名称的参数可带路径,也可不带路径都行 test2改名为test23
ren c:\test2 test23
::删除文件夹(E:\云服务器数据备份)里的5(/d -5)天以前的文件 不放回收站 彻底删除
forfiles /p "E:\云服务器数据备份" /s /m . /d -5 /c "cmd /c del @path
::复制目录下的文件到目标目录里,复制怡达通官网web目录里的内容到临时备份文件夹PHP_backup ROBOCOPY比xcopy好用 ROBOCOPY一般是把某个文件夹里的所有文件复制到目标文件夹里 两个目录都要先新建好
ROBOCOPY D:\PHP\PHPnow-1.5.6 D:\PHP\PHP_backup /E
robocopy c:\test23 d:\b /e
::移动目录下的文件到目标目录里 robocopy 用于目录与目录的移动和复制
robocopy c:\b d:\a /e /move
14.重启关机注销锁定计算机命令
::重启 默认为一分钟
shutdown -r
::立即重启
shutdown -r -t 0
::立即重启,-f也可以不要,加上后能加快重启速度
shutdown -r -f -t 0
::定时关机 表示让系统在1800秒后自动关机,1800也可以设置为其它值
shutdown -s -t 1800
::取消定时关机
shutdown -a
::迅速强制关机,若不指定时间,则默认为一分钟后执行,-f表示强制关闭正在运行的应用程序,不前台警告用户,-f也可以不要,加上后能加快关机速度
shutdown -s -f -t 0
::注销
shutdown -l
::休眠(需要电脑有该功能才行)
shutdown -h
::锁定计算机
rundll32 user32.dll,LockWorkStation
===========================================================================================================================================
15.跟用户有关的命令
::查看当前计算机有哪些用户
net user
::查看当前登录的用户名
echo %username%
::查看当前用户名的相关信息,包括所属的组,用户是否可以更改密码,用户是否永不过期,用户账户是否启用,zwj为用户名
net user zwj
::添加用户 net user 用户名 密码 /add 添加zwj11用户 创建的用户默认是属于users组 不在管理员组里,需要自行添加到管理员组
net user zwj11 123456 /add
::建立一个John的用户账号,密码为“123”,登录权限从星期一到星期五的早上八点到晚上十点和双休日的晚上七点到晚上九点
::12小时制
net user john 123 /add /times:monday-friday,8AM-10PM;saturday-sunday,7PM-9PM
::24小时制
net user john 123 /add /times:M-F,8:00-22:00;Sa-Su,19:00-21:00
::限定用户账号John到2004年11月5日到期
net user john /expires:Nov/5/2004
::删除用户 zwj11
net user zwj11 /delete
::更改用户密码,强制将用户John(John为已有用户)的密码更改为123456
net user john 123456
::更改当前登录用户的密码
net user %username% 123456
::更改用户的名称,用户aaa改名为bbb,双引号一定要有
wmic useraccount where name="aaa" call Rename "bbb"
::显示当前登录用户的账户文件夹
echo %userprofile%
::激活guest用户
net user guest /active:yes
::激活或禁用管理员用户
net user administrator /active:yes
net user administrator /active:no
::查看当前计算机的密码策略 密码复杂度 密码最短最长使用时间 锁定阈值等
NET ACCOUNTS
===========================================================================================================================================
16.跟用户组有关的命令
::查看当前计算机有哪些用户组
net localgroup
::查看用户组下有哪些成员 administrators管理员组
net localgroup administrators
::把某个用户添加到用户组里,把zwj123用户添加到administators用户组
net localgroup administrators zwj123 /add
===========================================================================================================================================
17.凭据管理器相关的
::删除连接服务器时保存的账号密码 可跟域名或者IP
cmdkey /delete:192.168.1.254
cmdkey /delete:ydtserver
::删除 RAS 凭据
cmdkey /delete /ras
::添加凭据,添加或更新连接服务器使用的账号密码
cmdkey /add:192.168.1.15 /user:icck\zwj /pass:123456
::添加凭据,添加或更新远程桌面连接时使用的用户名和密码
cmdkey /generic:TERMSRV/192.168.1.21 /user:icck\zwj /pass:123456
::查看凭据管理器
cmdkey /list
cmdkey /list:192.168.1.15
cmdkey /list:ydtserver
===========================================================================================================================================
18.跟计算机有关
::获取计算机名
echo %computername%
::查看计算机里所有的全局变量
set
::计算机C:\Windows目录引用
echo %windir%
::查看当前用户登录是通过哪台服务器做身份验证
echo %logonserver%
或
set logonserver
::查看当前计算机的密码策略 密码复杂度 密码最短最长使用时间 锁定阈值等
NET ACCOUNTS
===========================================================================================================================================
19.退出批处理界面
exit
===========================================================================================================================================
19.跟进程相关的
::杀掉进程管理器里的EXCEL.EXE进程
tasklist | findstr /i EXCEL.EXE && taskkill /f /im EXCEL.EXE
===========================================================================================================================================
20.打包压缩命令
:: 7z打包压缩web2.0文件夹 排除ReportOutPut报表文件目录 不排除的话有时候会因为报表文件被进程占用打包压缩不成功
c:\7Z\7z a C:\server\backupsyn\SZBackup%date:~0,4%%date:~5,2%%date:~8,2%.7z F:\web2.0\ -xr!ReportOutPut
:: 7z打包压缩重要文件夹
c:\7Z\7z a C:\server\backupsyn\SZBackup%date:~0,4%%date:~5,2%%date:~8,2%.7z F:\bak\data\ F:\server\script\ F:\server\olddata\ F:\wap7788\ F:\waptest7788\ D:\Weixin\ D:\bakup\PHP\
===========================================================================================================================================
21.MSSQL SERVER相关的命令
::重启SQLSERVER服务释放内存
net stop SQLAgent$SQL2008
net stop MSSQL$SQL2008
net start MSSQL$SQL2008
net start SQLAgent$SQL2008
===========================================================================================================================================
22.跟mysql相关的命令
::自动备份怡达通官网mysql数据库
mysqldump -uroot -per123456 yidatong >D:\server\mysqlbackup\yidatong%date:~0,4%%date:~5,2%%date:~8,2%.sql
::自动备份易达通物流系统导航系统mysql数据库(micckcomcn1234/ereach这个系统)
mysqldump -uroot -per123456 dbereach >D:\server\mysqlbackup\dbereach%date:~0,4%%date:~5,2%%date:~8,2%.sql
===========================================================================================================================================
23.打印机文件共享相关
::添加共享打印机 左边密码 右边账号 start \192.168.6.234\hp "passwd" /user:"username"
net use \ereach20\IPC$ "" /user:"guest"
rundll32 printui.dll,PrintUIEntry /in /n "\192.168.1.248\Samsung SCX-4650 4x21S Series"
或者
start \192.168.1.248\Samsung SCX-4650 4x21S Series "" /user:"guest"
::安装打印机驱动,并连接打印机
::https://blog.csdn.net/sandro_zhang/article/details/7026297
rundll32 printui.dll,PrintUIEntry /if /b "LQ-300K" /f %windir%\inf\ntprint.inf /r "lpt1:" /m "EPSON LQ-300K"
::将指定打印机设置为默认打印机(打印机右键属性的名称,如果是共享打印机的话,就填打印机共享路径即可)
rundll32 printui.dll,PrintUIEntry /y /n "Adobe PDF"
rundll32 printui.dll,PrintUIEntry /y /n "\192.168.1.248\HP LaserJet 1020"
::查看打印服务器的属性
rundll32 printui.dll,PrintUIEntry /s /t1 /c\192.168.1.248
::弹出Adobe PDF 查看正在打印机什么窗口
rundll32 printui.dll,PrintUIEntry /o /n "Adobe PDF"
::弹出添加打印机向导
rundll32 printui.dll,PrintUIEntry /il
::删除现有打印机 \192.168.1.248\HP LaserJet 1020
rundll32 printui.dll,PrintUIEntry /dn /n "\192.168.1.248\HP LaserJet 1020"
::打开打印机的属性窗口
rundll32 printui.dll,PrintUIEntry /p /n "\192.168.1.248\HP LaserJet 1020"
::启用文件和打印机共享
netsh advfirewall firewall set rule group="文件和打印机共享" new enable=yes
::查看当前计算机有哪些本地文件夹是正在共享的
net share
::删除C:共享
net share c$ del
::意思是将d:\mp3共享,共享名为mp3$, /unlimited在服务器用的多,就是不限制连接的人数, 反之,如果要限制连接数,就用/users:8意思是限制最多同时连接数为8台电脑。 /remark是解释,/cache:no 不需要脱机缓存。
net share mp3$=d:\mp3 /unlimited /remark:"这是一个完全共享" /CACHE:No 默认开启everyone为只读权限
::意思是将d:\mp3共享,共享名为mp3$,/users:8意思是限制最多同时连接数为8台电脑 默认开启everyone为只读权限
net share mp3$=d:\mp3 /USERS:8 /remark:"这是一个完全共享" /CACHE:No
::将d:\mp3共享,共享名为mp3$ everyone权限为full zwj权限为full 有read change full三种权限
net share mp3$=d:\mp3 /grant:everyone,full /grant:zwj,full
::查看共享详细信息
net share mp3$
::删除共享用net share mp3$ /delete
net share mp3$ /delete
::实例
批处理定时重启print打印服务,解决打印机异常队列堆积
@echo off
echo 计划任务开始执行
echo 停止打印服务
net stop Spooler
echo 清理打印暂存
del /s /q C:\Windows\System32\spool\PRINTERS*.*
echo 重新启动打印服务
net start Spooler
echo 完成!!!!(5秒后自动关闭)
ping -n 5 127.0.0.1>nul
24.等待时间
TIMEOUT /T 30
25.系统时间相关
::查看目标计算机的当前时间 \192.168.1.248要能访问到 目标计算机要开权限能共享访问
net time \192.168.1.248
::设置本机时间为网络中电脑的时间
net time \192.168.1.248 /set /y
::显示当前计算机的时间
net time \127.0.0.1
::显示当前计算机的时间,同时会要求您重设时间
time
::弹出日期时间界面框
timedate.cpl
::显示本地计算机时区设置
W32tm /tz
26.网络相关
::查看当前计算机本地连接有哪些
wmic nic where(NetConnectionStatus=2) get NetConnectionID
ipconfig
ping
::查看开启了哪些端口,查看端口的网络连接情况,以数字形式显示出当前所有本机-远程连接的IP地址和监听端口
netstat -an
::显示出当前计算机所有开放的端口号
netstat -an |find /i "LISTENING"
netstat -v 查看正在进行的工作
telnet ip 端口 远和登陆服务器,默认端口为23
27.win常用窗口命令
taskmgr 任务管理器
28.IIS服务命令
iisreset reboot 重启win2k计算机(但有提示系统将重启信息出现)
iisreset start或stop 启动(停止)所有Internet服务
iisreset restart 停止然后重新启动所有Internet服务
iisreset status 显示所有Internet服务状态
iisreset enable或disable 在本地系统上启用(禁用)Internet服务的重新启