也可以通过cmd /c命令和cmd /k命令直接运行该命令。
注:/c表示执行命令后关闭cmd窗口; /k表示执行命令后保留cmd窗口。
# 控制台命令窗口的一些提示
粘贴内容:右键弹出快捷菜单,选择“粘贴(P)”
在文件夹空白处按住Shift,然后单击鼠标右键,弹出快捷菜单。您可以看到“在此处打开命令行窗口”
使用向上和向下箭头键浏览使用的命令
制表符补全功能
命令参数的路径:使用反斜杠'\',不要使用正斜杠'/',如:del d:\test2\file\my.txt
命令参数路径:如果有空格,路径要用双引号括起来。例如:del 'd:\program files\file\my.txt'
文件和目录名称不能包含以下任何字符:\/: * ? ' |
rem //在批处理文件中添加注释。后续命令将不会被执行,但会被回显。
: //:也可以起到rem注释的作用,而且不会有回显
任何以冒号:开头的字符行在批处理中都被视为标签,其后面的所有内容都被直接忽略。有效标签:冒号后跟以字母数字字符开头的字符串,可以通过goto 语句识别该字符串无效标签:冒号后跟非字母数字的特殊符号。 goto 无法识别的标签可以作为注释。 经常用作注释符号。
0. 寻求帮助
命令/? //查看命令命令帮助说明
1.中断命令执行
Ctrl+Z
2. 文件/目录
cd 更改目录
示例: cd //显示当前目录
示例: cd . //进入上级目录
例:cd /d d: //进入d盘上次所在目录(或者直接输入:d:)
例:cd /d d:\ //进入d盘根目录
示例: cd d: //显示d 盘最后所在的目录
示例:cd /d d:\src //进入d:\src目录
示例: cd prj\src\view //进入当前目录下的prj\src\view文件夹
Pushd popd 使用堆栈来维护当前目录
md d:\mp3 //在C:\ 中创建mp3 文件夹md d:\mp4 //在D:\ 中创建mp4 文件夹cd /d d:\mp4 //将当前目录更改为d:\mp4pushd c:\mp3 //将当前目录更改为d: \mp4 入栈,当前目录改为c:\mp3popd //将刚刚存入栈的d:\mp4 弹出,设置为当前目录
dir 显示目录的内容
例:dir //显示当前目录下的子文件夹和文件
例:dir /b //只显示当前目录下子文件夹和文件的文件名
例:dir /p //分页显示当前目录下的子文件夹和文件
示例:dir /ad //显示当前目录下的子文件夹
例:dir /a-d //显示当前目录下的文件
示例:dir c:\test //显示c:\test目录的内容
示例:dir keys.txt //显示当前目录下keys.txt的信息
例:dir /S //递归显示当前目录内容
示例:dir key* //显示当前目录下以key开头的文件和文件夹信息
例:dir /AH /OS //只显示当前目录下隐藏的文件和目录,并按文件大小从小到大排序。
树显示目录结构
示例:tree d:\myfiles //显示d:\myfiles目录结构
ren 文件或目录重命名
示例:ren rec.txt rec.ini //将当前目录下的rec.txt文件重命名为rec.ini
例:ren c:\test test_01 //将c盘下的test文件夹重命名为test_01
示例: ren Logs.txt Logs-%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%.txt //更改当前目录下的Logs.txt文件重命名为Logs-20150114_2135.txt或Logs-20150114_812.txt(注意:当小时只有个位数时,会有多余的空格。可以使用字符串替换:将空格替换为0)
md创建目录
例:md movie music //在当前目录下创建名为movie和music的文件夹
示例:md d:\test\movie //创建d:\test\movie目录
rd 删除目录
例:rd movie //删除当前目录下的空movie文件夹
例:rd /s /q d:\test //使用安静模式删除d:\test(除了目录本身之外,指定目录下的所有子目录和文件也会被删除)
复制复制文件
示例:copy key.txt c:\doc //将当前目录下的key.txt复制到c:\doc(如果doc中有key.txt文件,会询问是否覆盖)
示例:copy jobs c:\doc //将当前目录(不含递归子目录)的jobs文件夹中的文件复制到c:\doc(如果doc中也存在相应文件,会询问是否覆盖)
示例:copy key.txt c:\doc\key_bak.txt //将当前目录下的key.txt复制到c:\doc,并重命名为key_bak.txt(如果doc中还有key_bak.txt文件,则将询问是否覆盖)
示例:copy /Y key.txt c:\doc //将当前目录下的key.txt复制到c:\doc(不要问,直接覆盖)
例:copy /Y key1.txt + key2.txt key.txt //将当前目录下key1.txt和key2.txt的内容合并,写入key.txt(不用问,直接覆盖)
示例:copy /B art_2.7z.* art_2.7z //合并以art_2.7z 开头的所有文件。在当前目录下(按名称升序排列)生成art_2.7z
示例:copy /B art_2.7z.001+art_2.7z.002 art_2.7z //将当前目录下的art_2.7z.001和art_2.7z.002文件合并,生成art_2.7z
示例: xcopy c:\bat\hai d:\hello\ /y /h /e /f /c //将c:\bat\hai 中的内容全部复制到d:\hello 注意:hello 后面需要加\。 hello 是一个目录,否则xcopy 会询问hello 是F 还是D
示例: xcopy c:\bat\hai d:\hello\ /d:12-29-2010 //将c:\bat\hai 中2010 年12 月29 日之后更改的文件复制到d:\hello
移动移动文件
示例: move *.png test //将当前目录下的png图片移动到当前目录下的test文件夹中(如果test中也存在同名的png图片,则会询问是否覆盖)
例:move /Y *.png test //将当前目录下的png图片移动到当前目录下的test文件夹中(不问,直接覆盖)
示例: move 1.png d:\test\2.png //将当前目录下的1.png 移动到d 盘的test 文件夹中,并重命名为2.png(如果目录中也存在同名png 图片)测试,会询问是否覆盖)
例:move test d:\new //如果d盘存在新文件夹,则将当前目录下的test文件夹移动到d盘新文件夹中;如果不存在,则将当前目录下的test文件夹移动到d盘并重命名为new
del 删除文件注意:目录及子目录不会被删除
例: del test //删除当前目录下test文件夹内所有非只读文件(子目录下的文件不删除,删除前会进行确认,相当于del test\*)
例:del /f test //删除当前目录下test文件夹下的所有文件(包括只读文件;子目录下的文件不删除;删除前会进行确认;相当于del /f test\*)
示例:del /f /s /q test d:\test2\*.doc //删除当前目录下test文件夹下的所有文件以及d:\test2下的所有doc文件(包括只读文件;递归子目录下的文件;删除前不确认)
++++++++++++++++++++++++
/ar、/ah、/as、/aa 分别表示删除只读文件、隐藏文件、系统文件和归档文件。 /a-r、/a-h、/a-s 和/a-a 分别表示删除只读文件、隐藏文件、系统文件和归档文件以外的文件。
++++++++++++++++++++++++
示例:del /ar *.* //删除当前目录下所有只读文件
例:del /a -s *.* //删除当前目录下除系统文件外的所有文件
Replace 替换文件【即使这个文件正在使用中,仍然可以替换成功]
例:replace d:\love.mp3 d:\mp3 //使用d盘的love.mp3,强制替换d盘mp3目录下的love.mp3文件
mklink 创建符号链接(win7中引入);创建的符号链接文件上会有一个类似于快捷方式的箭头。
win7下的mklink命令可以通过指定参数创建不同形式的文件或目录链接,分为硬链接、符号链接和目录联结三种。
(1)符号链接
创建软链接相当于创建一个文件(或目录)。这个文件(或目录)用来指向其他文件(或目录),有点类似于win的快捷方式。
删除该链接对原无图像的文件(或目录)没有影响;当你删除原文件(或目录)再打开链接时,会提示“位置不可用”。
(2)目录连接(junction)
其功能与符号链接基本类似。不同的是,目录连接在建立时会自动引用原目录的绝对路径,而符号链接则允许相对路径引用。
(3)硬链接
创建硬链接相当于为文件创建别名。例如,为1.txt创建一个名为2.txt的硬链接;
如果使用记事本修改1.txt,2.txt也会同时被修改。如果删除1.txt,2.txt仍然存在,内容与1.txt相同。
建立链接时请注意:创建文件或目录链接仅限于NTFS 文件系统;可以跨分区建立符号链接(目录连接)(例如:d盘上可以建立C盘文件或目录的链接),而硬链接只能建立同一分区内的文件指向b。硬链接只能用于文件,不能用于目录;目录连接只能用于目录;可以使用符号链接; c.硬链接不允许链接到空文件,符号(软件)链接就可以了。
+++++++++++++++++++++++++++++++++
mklink [[/d] | [/h] | [/j]] 链接目标
/d 创建目录符号链接。该文件被视为符号链接。 /h 创建硬链接而不是符号链接。 /j 创建目录连接。 Link 指定新的符号链接名称。目标指定新链接引用的路径(相对或绝对)。
+++++++++++++++++++++++++++++++++
示例: mklink /j 'C:\Users' 'D:\Users' //在D 盘创建Users 目录并连接到C 盘,并将其命名为Users
attrib 查看或修改文件或目录的属性【A:存档R:只读S:系统H:隐藏】
例:attrib 1.txt //查看当前目录下1.txt的属性
示例:attrib -R 1.txt //去掉1.txt的只读属性
示例:attrib +H movie //隐藏影片文件夹
assoc 设置与“文件扩展名”关联的“文件类型”
示例:assoc //显示所有“文件扩展名”关联
示例:assoc .txt //显示.txt代表的‘文件类型’,结果显示.txt=txtfile
示例:assoc .doc //显示.doc代表的‘文件类型’,结果显示.doc=Word.Document.8
例:assoc .exe //显示.exe代表的‘文件类型’,结果显示.exe=exefile
示例:assoc .txt=txtfile //恢复.txt的正确关联
ftype 设置与“文件类型”关联的“执行器和参数”
示例:ftype //显示所有“文件类型”关联
例:ftype exefile //显示exefile类型关联的命令行,结果显示exefile='%1' %*
示例: ftype txtfile=C:\Windows\notepad.exe %1 //设置与txtfile 类型关联的命令行为:C:\Windows\notepad.exe %1
当双击.txt文件时,Windows并不会根据.txt直接决定使用notepad.exe打开它。相反,它首先确定.txt属于txtfile“文件类型”;然后调用与txtfile 关联的命令行: txtfile=%SystemRoot%\system32\ NOTEPAD.EXE %1
forfiles 递归目录执行命令
示例:forfiles /p 。 /m .svn /s /c 'cmd /c svn up -r12005' //查找当前目录下包含.svn的文件或目录(递归子目录),并在目录上执行指定版本svn update
示例: forfiles /p c:\myfiles /m .svn /s /c 'cmd /c svn up -r12005' //查找c:\myfiles目录下包含.svn的文件或目录(递归子目录),并对Directory执行svn update具有指定版本号
3. 文件查看
例:输入c:\11.txt //显示c盘11.txt的文本内容
示例: type conf.ini //显示当前目录下conf.ini的文本内容
示例:输入c:\11.txt | more //分页显示c盘11.txt的文本内容
例:more conf.ini //逐屏显示当前目录下conf.ini的文本内容[空格:下一屏q:退出]
4. 注册表命令
reg 注册表相关操作
参数说明:
示例: reg add 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run' /v MyApp /t REG_SZ /d 'c:\tools\myapp.exe' /f //strong制添加启动行来启动c:\tools\ myapp.exe 程序的注册表项
例:reg add 'HKLM\SOFTWARE\ScmClient' /vgreeceConfirmed /t REG_SZ /d 1 /f //解决32位xp中打开ioa后弹出框无法关闭的问题
示例: reg add 'HKCU\ControlPanel\Desktop' /v WaitToKIllAppTimeOut /t REG_SZ /d 10000 /f //strong制添加注册表项以加快应用程序关闭速度
示例: reg add 'hkcu\software\Unity Technologies\Unity Editor 4.x' /v JdkPath_h4127442381 /t REG_SZ /f //将JdkPath_h4127442381 设置为空
示例: reg add 'HKCR\*\shell\WinDbg\command' /t REG_SZ /d '\'D:\Program Files (x86)\windbg\windbg.exe\' -z \'%1\' ' /f//strong制将windbg打开转储文件添加到右键菜单的注册表键中(不指定/v,键值将写入默认值名称)
示例: reg add 'HKCR\*\shell\WinHex\command' /t REG_SZ /d '\'D:\software-setup\system\winhex\winhex.exe\' \'%1\' ' /f //strong制将winhex添加到右键菜单的注册表键中(不指定/v,键值将写入默认值名称)
%1 %2 %3 %4在注册表中的含义: -- %1代表文件列表,%2代表默认打印机,%3代表驱动器,%4代表端口
示例: reg add 'hkcu\software\microsoft\windows\currentversion\internet settings' /v AutoConfigURL /t REG_SZ /d 'http://txp-01.tencent.com/proxy.pac' /f //设置IE 代理:http://txp- 01.tencent.com/proxy.pac
示例: reg add 'hkcu\software\Sysinternals\Process Monitor' /v EulaAccepted /t REG_DWORD /d 1 /f //添加Procmon.exe 工具的许可证同意(Process Monitor 是其在属性面板上的描述名称)
示例: reg delete 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run' /v MyApp /f //strong制删除值为名称的MyApp 注册表项
例: reg delete 'HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe' /f //strong制删除使任务栏中任务管理器变灰的注册表项
示例: reg delete HKEY_CURRENT_USER\Environment /v HTTP_proxy /f //删除http 代理
示例: reg delete HKEY_CURRENT_USER\Environment /v HTTPS_proxy /f //删除https 代理
例:reg export 'hkcu\software\microsoft\winmine' c:\regbak\winmine.reg //将winmine下的所有子键和值导出到c:\regbak\winmine.reg文件中
示例: reg import c:\regbak\winmine.reg //将c:\regbak\winmine.reg 文件导入注册表
例: reg query 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\IEXPLORE.EXE' /s //查询ie的安装路径
例:reg query HKCR\.dsw /ve //查询.dsw默认值
例:reg query HKEY_CURRENT_USER\Software\Tencent\QQGame\SYS /v GameDirectory //查询QQGame安装路径
5.@#@
顺序执行多个命令,无论命令是否执行成功
示例: cd /d d:\srcwork.exe /o c:\result.txt //首先将当前工作目录切换到d:\src,然后执行work.exe /o c:\result.txt 命令
顺序执行多个命令。当遇到执行错误的命令时,后续命令将不会被执行。
示例:find 'ok' c:\test.txt echo success //如果找到'ok'一词,则显示'success',如果找不到,则不显示。
||按顺序执行多个命令。当遇到正确的命令时,后续命令将不会被执行。
示例:查找“ok”c:\test.txt || echo unsuccessful //如果找不到‘ok’这个词,则显示‘unsuccessful’,如果找到了,则不显示。
|管道命令
示例:dir *.* /s/a | find /c '.exe' //先执行dir命令,然后对输出结果(stdout)执行find命令(输出当前文件夹及所有子文件夹下的.exe文件个数)
示例:dir *.* /s/a 21 | find /c '.exe' //先执行dir命令,然后对输出结果(stdout)和错误信息(stderr)执行find命令(输出当前文件夹及所有子目录).exe的个数文件夹中的文件)
以覆盖方式重定向当前命令输出
示例:tasklist p1.txt //通过覆盖将tasklist(stdout)的输出重定向到p1.txt文件(注意:tasklist的输出不会打印在屏幕上)
示例:tasklist 1 p1.txt //等价于:tasklist p1.txt
示例:dir bin 2 p1.txt //将输出结果(stdout)打印在屏幕上,错误信息(stderr)以覆盖的方式重定向到p1.txt(注:当bin目录不存在时,将输出错误消息)
示例:dir bin p1.txt 21 //将错误信息(stderr)重定向到输出结果(stdout),然后将输出结果(stdout)以覆盖的方式重定向到p1.txt(注:bin目录不存在,会输出错误信息)
示例:dir bin 2 p1.txt 12 //将输出结果(stdout)重定向到错误信息(stderr),然后将错误信息(stderr)以覆盖的方式重定向到p1.txt(注:bin目录不会not 如果存在则输出错误信息) 注:结果与上一条命令一致。
示例:tasklist nul //tasklist 的输出(stdout)不会打印在屏幕上,但错误消息(stderr)仍会打印。
示例:dir bin 2nul //命令的错误信息(stderr)不会打印在屏幕上,但输出结果(stdout)仍然会打印(注意:当bin目录不存在时,会出现错误信息)被输出)
示例:dir bin nul 21 //将命令的错误消息(stderr)重定向到输出结果(stdout),然后不打印输出结果(stdout)【既不打印错误消息(stderr)也不打印输出结果(stdout)屏幕上打印】(注:当bin目录不存在时,会输出错误信息)
示例:dir bin 2nul 12 //将命令输出(stdout)重定向到错误消息(stderr),然后不打印错误消息(stderr)【错误消息(stderr)和输出结果(stdout)都不是屏幕上打印】(注:当bin目录不存在时,会输出错误信息)
通过附加重定向当前命令输出
示例:tasklist p2.txt //通过追加将tasklist(stdout)的输出重定向到p2.txt文件(注意:tasklist的输出不会打印在屏幕上)
示例:tasklist 1 p2.txt //相当于:tasklist p2.txt
例:dir bin 2 p2.txt //将输出结果(stdout)打印到屏幕上,并通过追加方式将错误信息(stderr)重定向到p2.txt(注:当bin目录不存在时,会报错将输出消息)
示例:dir bin p2.txt 21 //将错误信息(stderr)重定向到输出结果(stdout),然后将输出结果(stdout)以追加的方式重定向到p2.txt(注:bin目录不存在,会输出错误信息)
示例:dir bin 2 p2.txt 12 //将输出结果(stdout)重定向到错误消息(stderr),然后将错误消息(stderr)以追加的方式重定向到p2.txt (注:bin 目录不会not 如果存在则输出错误信息) 注:结果与上一条命令一致。
从文件而不是从屏幕获取输入信息,通常用于日期时间
label等需要等待输入的命令 例:date <temp.txt // temp.txt中的内容为2005-05-01 编号Handle说明 0stdin键盘输入 1stdout在命令提示窗口上打印输出结果(默认) 2stderr在命令提示窗口上打印错误信息(默认) 3-9undefined应用程序自己定义和指定 @ 命令修饰符 在执行命令前,不打印出该命令的内容 例:@cd /d d:\me // 执行该命令时,不打印出命令的内容:cd /d d:/me , 在某些特殊的情况下可以用来代替空格使用 例:dir,c:\ // 相当于:dir c:\ ; 当命令相同的时候,可以将不同的目标用;隔离开来但执行效果不变。如执行过程中发生错误则只返回错误报告但程序还是会继续执行 例:dir c:\;d:\;e:\ // 相当于顺序执行:dir c:\ dir d:\ dir e:\ echo. // 输出一个"回车换行",空白行 echo off // 后续所有命令在执行前,不打印出命令的内容 echo on // 后续所有命令在执行前,打印出命令的内容 echo 123 // 输出123到终端屏幕 echo "Hello World!!!" // 输出Hello World!!!到终端屏幕 echo %errorlevel% // 每个命令运行结束,可以用这个命令行格式查看返回码;默认值为0,一般命令执行出错会设errorlevel为1 echo test > p1.txt // 输出test的字符串到当前目录中的p1.txt文件中(以覆盖的方式) set // 显示当前用户所有的环境变量 set path // 查看path的环境变量值(准确的说是查看以path开头的环境变量) set path= // 清空path变量 set path=d:\execute // 将path变量设置为d:\execute(注:修改的path只会影响当前回话,也不会存储到系统配置中去;当前cmd窗口关闭,新设置的path也就不存在了) set path=%path%;d:\execute // 在path变量中添加d:\execute(注:修改的path只会影响当前回话,也不会存储到系统配置中去;当前cmd窗口关闭,新设置的path也就不存在了) path // 显示当前path变量的值 path ; // 清除所有搜索路径设置并指示cmd.exe只在当前目录中搜索 path d:\xxx;%PATH% // 将d:\xxx路径添加到path中 --------------------------------------------------- set p=aa1bb1aa2bb2 // 设置变量p,并赋值为aa1bb1aa2bb2 echo %p% // 显示变量p代表的字符串,即aa1bb1aa2bb2 echo %p:~6% // 显示变量p中第6个字符以后的所有字符,即aa2bb2 echo %p:~6,3% // 显示第6个字符以后的3个字符,即aa2 echo %p:~0,3% // 显示前3个字符,即aa1 echo %p:~-2% // 显示最后面的2个字符,即b2 echo %p:~0,-2% // 显示除了最后2个字符以外的其它字符,即aa1bb1aa2b echo %p:aa=c% // 用c替换变量p中所有的aa,即显示c1bb1c2bb2 echo %p:aa=% // 将变量p中的所有aa字符串置换为空,即显示1bb12bb2 echo %p:*bb=c% // 第一个bb及其之前的所有字符被替换为c,即显示c1aa2bb2 set p=%p:*bb=c% // 设置变量p,赋值为 %p:*bb=c% ,即c1aa2bb2 set /a p=39 // 设置p为数值型变量,值为39 set /a p=39/10 // 支持运算符,有小数时用去尾法,39/10=3.9,去尾得3,p=3 set /a p=p/10 // 用 /a 参数时,在 = 后面的变量可以不加%直接引用 set /a p="1&0" // &运算要加引号。其它支持的运算符参见set/? --------------------------------------------------- cls 清除屏幕 ver 显示当前windows系统的版本号 winver 弹框显示当前windows系统信息 vol 显示当前分区的卷标 label 显示当前分区的卷标,同时提示输入新卷标 label c:system 设置c盘的卷标为system time 显示或设置当前时间 例:time /t // 显示当前时间 例:time // 设置新的当前时间(格式:hh:mm:ss),直接回车则表示放弃设置 date 显示或设置当前日期 例:date /t // 显示当前日期 例:date // 设置新的当前日期(格式:YYYY/MM/DD),直接回车则表示放弃设置 title 正在做命令行测试 // 修改当前cmd窗口的标题栏文字为正在做命令行测试 prompt orz: // 将命令提示符修改为orz: call ff.bat // 调用执行ff.bat脚本(ff.bat脚本执行完原脚本才会往下执行) start 运行某程序或命令 例:start /max notepad.exe // 最大化的方式启动记事本 例:start /min calc.exe // 最小化的方式启动计算器 例:start /min "" d:\Proxifier.exe // 最小化的方式启动Proxifier代理工具 例:start tasklist // 启动一个cmd实例窗口,并运行tasklist 例:start explorer f:\ // 调用资源管理器打开f盘 例:strat iexplore "www.qq.com" // 启动ie并打开www.qq.com网址 例:start ff.bat // 启动开始执行ff.bat(启动ff.bat脚本后,原脚本继续执行,不会等ff.bat脚本执行完) exit 退出当前cmd窗口实例 例:exit 0 // 退出当前cmd窗口实例,并将过程退出代码设置为0(0表示成功,非0表示失败) 例:exit /B 1 // 退出当前bat脚本,并将ERRORLEVEL系统变量设置为1 pause 暂停批处理程序,并显示出:请按任意键继续.... color 设置当前cmd窗口背景色和前景色(前景色即为字体的颜色) 例:color // 恢复到缺省设置 例:color 02 // 将背景色设为黑色,将字体设为绿色 --------------------------------------0 = 黑色 8 = 灰色1 = 蓝色 9 = 淡蓝色2 = 绿色 A = 淡绿色3 = 浅绿色 B = 淡浅绿色4 = 红色 C = 淡红色5 = 紫色 D = 淡紫色6 = 黄色 E = 淡黄色7 = 白色 F = 亮白色-------------------------------------- mode con cols=200 lines=60 & color 9f 设置DOS窗口颜色为9f,大小:200行 60列(若屏幕缓冲区大小的宽度w<200或高度h<60,最终DOS的窗口就会为w行,h列) chcp 查看命令行环境字符编码(为一个全局设置) 注:cmd的属性窗口,选项标签页也可以查看当前代码页 chcp 936 // 设置当前命令行环境编码为GBK 执行完该命令后还需要将字体设置为点阵字体,才能真正将编码环境切成utf8 chcp 65001 // 设置当前命令行环境编码为utf8 执行完该命令后还需要将字体设置为Lucida Console,才能真正将编码环境切成utf8 在注册表中会写入这些字段信息: systeminfo 查看当前计算机的综合信息 systeminfo | findstr /i "初始安装日期 系统启动时间" 只查看当前计算机的初始安装日期和系统启动时间 wmic 查看硬件的信息 -- C:\Windows\System32\wbem\WMIC.exe 例:wmic logicaldisk // 查看计算机上各个盘的相关信息 例:wmic LogicalDisk where "Caption='C:'" get FreeSpace,Size /value // 获取C盘的剩余空间大小与总大小(单位:Byte) 例:wmic os get Caption,InstallDate,OSArchitecture /value // 获取当前os的Caption、安装日期以及系统架构信息 wmic 查看进程信息 例:wmic process where Caption="buyticket.exe" get commandline,ExecutablePath,ProcessId,ThreadCount /value // 查看名为"buyticket.exe"所有进程命令行,exe全路径,PID及线程数 例:wmic process where Caption="buyticket.exe" get ExecutablePath,HandleCount /value // 查看名为"buyticket.exe"所有进程的exe全路径及当前打开的句柄数 例:wmic process where Caption="buyticket.exe" get ExecutablePath,VirtualSize,WorkingSetSize /value // 查看名为"buyticket.exe"所有进程的exe全路径、当前虚拟地址空间占用及物理内存工作集 logoff 注销当前用户 shutdown 关闭、重启、注销、休眠计算机 例:shutdown /s // 关闭计算机 例:shutdown /s /t 3600 // 一小时后,关闭本地计算机 例:shutdown /a // 终止系统关闭 例:shutdown /r // 关闭并重启本地计算机 例:shutdown /m 192.168.1.166 /r // 关闭并重启ip为192.168.1.166的计算机 +++++++++++++++++++++ 远程关机权限的获取:1)修改远程pc的“本地安全策略”,为指定的用户开放权限在WindowsXP默认的安全策略中,只有Administrators组的用户才有权从远端关闭计算机,如果要给xxxx用户远程关机的权限。可利用WindowsXP的“组策略”或“管理工具”中的“本地安全策略”来实现。1.命令行运行gpedit.msc打开“组策略编辑器“;2.导航到“计算机配置/Windows设置/安全设置/本地策略/用户权利指派”;3.修改“从远端系统强制关机”,添加xxxx用户即可。 2)获得远程IPC管理权限如果配置第一步后还出现“拒绝访问。”,则需要在运行shutdown命令前先运行如下命令net use \\[ip地址或计算机名]\ipc$ password /user:xxxx其中password为帐号xxxx的登录密码。 +++++++++++++++++++++ 例:shutdown /g // 关闭并重启计算机,重启后重新启动所有注册的应用程序 例:shutdown /l // 注销本地计算机 例:shutdown /h /f // 休眠本地计算机(强制正在运行的应用程序关闭,不前台警告用户) 例:shutdown /s // 关闭计算机 regsvr32 注册或反注册com组件 例:regsvr32 /s clock.ocx // 以无声的方式注册clock.ocx组件 例:regsvr32 /u myCommon.dll // 卸载myCommon.dll组件 format 格式化磁盘 例:format J: /FS:ntfs // 以ntfs类型格式化J盘 【类型有:FAT、FAT32、exFAT、NTFS或UDF】 例:format J: /FS:fat32 /Q // 以fat32类型快速格式化J盘 chkdsk /f D: // 检查磁盘D并显示状态报告;加参数/f表示同时会修复磁盘上的错误 subst 磁盘映射 -- 磁盘映射信息都保存在注册表以下键值中:HKEY_CURRENT_USER\Network 例:subst // 显示目前所有的映射 例:subst z: \\com\software // 将\\com\software共享映射为本地z盘 例:subst y: e:\src // 将e:\src映射为本地y盘 例:subst z: /d // 删除z盘映射 cmdkey 凭据(保存的用户名和密码) 例:cmdkey /list // 列出可用的凭据 例:cmdkey /list:10.12.190.82 // 列出指定目标的凭据 例:cmdkey /list:Domain:target=10.12.190.82 // 列出指定目标的凭据 例:cmdkey /add:Domain:target=10.12.190.82 /user:LiLei /pass:123456 // 若target为10.12.190.82的凭据不存在,则添加;否则就将10.12.190.82凭据的用户名修改为LiLei,密码修改为123456 例:cmdkey /delete:Domain:target=10.12.190.82 // 删除指定目标的凭据 cscript 执行vbs脚本 例:cscript /Nologo mac.vbs // 执行mac.vbs脚本,显示本机mac地址 -------mac.vbs---------- -------------------------- schtasks 任务计划 例:schtasks /query /fo LIST /v // 以较为详细易于阅读的格式显示本机所有任务计划信息 例:schtasks /create /sc minute /mo 20 /tn "Soda Build" /tr d:\check.vbs // 创建一个名为Soda Build的任务计划:该任务计划每20分钟执行一下d:\check.vbs脚本 例:schtasks /create /tn "Soda Build" /tr D:\updateall.bat /sc daily /st 02:06 /f // 强制创建一个名为Soda Build的任务计划(不进行确认):该任务计划每天凌晨2点06分执行一下D:\updateall.bat脚本 例:schtasks /delete /tn "Soda Build" /f // 强制删除Soda Build名称的任务计划(不进行确认) 例:schtasks /change /tn "Soda Build" /tr d:\check2.vbs // 将名为Soda Build的任务计划的执行脚本修改为d:\check2.vbs 例:schtasks /run /tn "Soda Build" // 执行名为Soda Build的任务计划 例:schtasks /end /tn "Soda Build" // 终止执行名为Soda Build的任务计划 6. net命令 net start // 查看已经启动的服务 net start "Task Scheduler" // 开启任务计划服务 net stop "Task Scheduler" // 关闭任务计划服务 net start dnscache // 开启dns缓存服务 net stop dnscache // 关闭dns缓存服务 net share // 查看当前用户下的共享目录 net share workFile /delete // 取消名为workFile的共享状态 net share xxx=c:\360Downloads // 将c:\360Downloads设为共享,并取名为xxx net share ipc$ // 开启ipc$共享 net share ipc$ /del // 删除ipc$共享 net share c$ /del // 删除c盘共享 net use \\192.168.1.166\ipc$ " " /user:" " // 建立192.168.1.166的ipc空链接 net use \\192.168.1.166\ipc$ "123456" /user:"administrator" // 直接登陆后建立192.168.1.166的ipc非空链接(用户名为administrator 密码为123456) net use h: \\192.168.1.166\c$ "123456" /user:"administrator" // 直接登陆后映射192.168.1.166的c盘到本地为h盘(用户名为administrator 密码为123456) net use h: \\192.168.1.166\c$ // 登陆后映射192.168.1.166的c盘到本地为h盘 net use \\192.168.1.166\ipc$ /del // 删除ipc链接 net use h: /del // 删除本地的h盘的映射 net view // 查看本地局域网内开启了哪些共享 net view \\192.168.1.166 // 查看192.168.1.166的机器上在局域网内开启了哪些共享 net time \\127.0.0.1 // 查看本地机器的日期及时间 net time \\localhost // 查看本地机器的日期及时间 net time \\192.168.1.166 // 查看192.168.1.166机器的日期及时间 net time \\192.168.1.166 /set // 设置本地计算机时间与192.168.1.166主机的时间同步,加上参数/yes可取消确认信息 net user // 查看当前机器上的用户 net user Administrator // 查看当前机器上的Administrator用户的信息 net user Guest /active:yes // 启用Guest用户 net user dev 123456 /add // 新建一个名为dev,密码为123456的用户 net localgroup administrators dev /add // 把名为dev的用户添加到管理员用户组中,使其具有管理员权限 net user dev /del // 删除名为dev的用户 7. 进程操作 tasklist // 显示当前运行的进程信息(可查看PID) taskkill 结束指定的进程 例:taskkill /im notepad.exe // 结束名为notepad.exe的进程 例:taskkill /pid 1230 /pid 1241 /pid 1253 /t // 结束pid为1230、1241和1253的进程以及由它们启动起来的子进程 例:taskkill /f /im cmd.exe /t // 强制结束有名为cmd.exe的进程以及由它启动起来的子进程 8. 网络操作 ping // 用于检测网络是否通畅,以及网络时延情况(工作在ICMP协议上) 例:ping baidu.com // 测试与baidu服务器的连接情况 例:ping chen-pc0 // 测试机器名为chen-pc0的连接情况 例:ping 220.181.111.86 // 测试与ip为220.181.111.86的连接情况 例:ping -l 65500 -n 10 qq.com // 向qq.com发送10次65500字节的ping 例:ping -n 6 127.0.0.1 // 对当前主机执行6次ping操作(花费时间为5s) 例:ping -t baidu.com // 不断地测试baidu服务器的连接情况 【Ctrl+Pause Break:查看ping的统计信息;Ctrl+C:终止当前任务】 a. 首先查本地arp cache信息,看是否有对方的mac地址和IP地址映射条目记录b. 如果没有,则发起一个arp请求广播包,等待对方告知具体的mac地址c. 收到arp响应包之后,获得某个IP对应的具体mac地址,有了物理地址之后才可以开始通信了,同时对ip-mac地址做一个本地cached. 发出icmp echo request包,收到icmp echo reply包 ipconfig /all // 查看本地ip地址等详细信息 ipconfig /displaydns // 显示本地dns缓存的内容 ipconfig /flushdns // 清除本地dns缓存的内容 nslookup www.cnblogs.com // 获取www.cnblogs.com的域名解析 服务器: gm-captiva.tencent.com//DNS服务器的主机名Address: 10.6.18.41//DNS服务器IP 非权威应答:名称: www.cnblogs.com//解析的域名URLAddress: 42.121.252.58//解析回的IP nslookup -d www.cnblogs.com // 打印出www.cnblogs.com的域名解析所有记录 netstat -a // 查看开启了哪些端口 netstat -n // 查看端口的网络连接情况 netstat -v // 查看正在进行的工作 netstat -p tcp // 查看tcp协议的使用情况 tracert 182.140.167.44 // 查看本机到达182.140.167.44的路由路径 route print // 显示出IP路由 telnet 182.140.167.44 8000 // 探测182.140.167.44是否使用TCP协议监听8000端口(注意:telnet命令不支持UDP端口检测) 说明:如果端口关闭或者无法连接,则显示不能打开到主机的链接,链接失败;端口打开的情况下,链接成功,则进入telnet页面(全黑的),证明端口可用。 用于探测指定IP的端口号,只是telnet的一个基本功能; 远程登录到网络中的计算机,并以命令行的方式远程管理计算机才是telnet命令的强大之处。 windows telnet服务器(默认端口:23)环境配置过程如下: 参考1 a. 安装telnet服务器 b. 启动Telnet服务 c. 关闭windows防火墙 注:若不想关闭防火墙,则需要在Windows防火墙 -- 高级设置里面对Telnet服务器的访问规则进行配置 ftp 46.19.34.198 21 // 连接46.19.34.198 ftp服务器(21为端口号),然后会要求输入用户名与密码;连接成功后,具体如何使用可以键入?来查看帮助说明 arp 显示和修改地址解析协议(ARP)使用的“IP到mac”的地址转换表 例:arp -a // 显示arp缓存表 at 计划任务(必须保证“Task Scheduler”服务启动 net start "task scheduler") 例:at // 查看所有的计划任务 例:at /delete /yes // 停止所有任务计划(不需要确认) 例:at 1 // 开启id为1的计划任务 例:at 1 /delete /yes // 停止id为1的计划任务(不需要确认) 例:at 12:42 shutdown –s –t30 // 到12:42 ,电脑会出现“ 系统关机 ”对话框,并默认 30 秒延时自动关机 例:at cmd /c dir > c:\test.out // 如果命令不是exe文件,必须在命令前加上cmd /c 例:at 6:00AM /every:Saturday task.bat // 在每周六早上6点,电脑定时启动task.bat批处理文件 例:at \\chen 12:00 shutdown /r // 到12:00时,关闭名为chen的计算机 例:at \\192.168.1.166 12:00 shutdown /r // 到12:00时,关闭ip为192.168.1.166的计算机 9. 文本处理 edit config.ini // 编辑config.ini文件(会进入edit字符编辑器;按alt,可以选择对应的菜单) win7 x64下没有该命令 find 文件中搜索字符串 例:find /N /I "pid" 1.txt // 在1.txt文件中忽略大小写查找pid字符串,并带行号显示查找后的结果 例:find /C "exe" 1.txt // 只显示在1.txt文件中查找到exe字符串的次数 例:find /V "exe" 1.txt // 显示未包含1.txt文件中未包含exe字符串的行 findstr 文件中搜索字符串 例:findstr "hello world" 1.txt // 在1.txt文件中搜索hello或world 例:findstr /c:"hello world" 1.txt // 在1.txt文件中搜索hello world 例:findstr /c:"hello world" 1.txt nul // 在1.txt文件中搜索hello world,并在每行结果前打印出1.txt: 注:findstr只有在2个及以上文件中搜索字符串时才会打印出每个文件的文件名,nul表示一个空文件
用户评论
Windows常用命令真的太神了!学会这些就等于掌握了一套神奇的武器,可以解决一大堆电脑问题。
有7位网友表示赞同!
平时很少用命令行界面,这篇文章正好让我学习一下常用的命令。
有7位网友表示赞同!
最常用的就是dir和cd啦,感觉这两个命令真是必备神器
有20位网友表示赞同!
想看看系统里的某个文件,直接使用“type 文件名”就可以显示内容了!太方便!
有9位网友表示赞同!
这篇总结写的很详细啊,每个命令的解释都清晰易懂,新手友好 banget.
有9位网友表示赞同!
整理电脑文件的时候,使用“del”和“mkdir”真是百用不厌啊!
有19位网友表示赞同!
学习一下这些常用命令,以后系统出现问题可以自己解决!
有20位网友表示赞同!
要了解win系统底层机制,还得熟悉这些命令吧。
有9位网友表示赞同!
感觉掌握windows常用命令能提升操作效率好多
有12位网友表示赞同!
这篇文太赞了!分享给我的电脑小白朋友们学习一下.
有5位网友表示赞同!
"netstat" 这个命令用来查看网络连接和端口信息,有时候挺实用的
有11位网友表示赞同!
最近在研究一个win脚本需要用到一些命令,感谢文章的帮助!
有14位网友表示赞同!
Windows常用命令确实值得深入了解!
有19位网友表示赞同!
学习一下这些命令之后感觉自己的电脑技能Level Up了
有7位网友表示赞同!
"shutdown" 和 "重启" 两个命令真是太省心啦!可以直接关闭或重启系统,一举两得!
有6位网友表示赞同!
用win系统的命令行界面解决问题真是越来越酷炫了!
有11位网友表示赞同!
学习windows常用命令可以帮助我们更好地了解和掌控自己的电脑。
有15位网友表示赞同!
感觉掌握这些常用命令对日常使用win系统非常有效率
有17位网友表示赞同!