Windows下常用DOS指令

2021-05-08 10:10:27 4429

Windows下常用DOS指令

2021113

9:54

Ipconfig


 image.png

ipconfig /all


 image.png

ping IP address


 image.png

tracert IP

追踪目的地址的路径信息。


 image.png

 

 

Netstat


 

 

netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

Netstat的一些常用选项

netstat -s——本选项能够按照各个协议分别显示其统计数据。

netstat -e——本选项用于显示关于以太网的统计数据

netstat -r——本选项可以显示关于路由表的信息

netstat -a——本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接。

netstat -n——显示所有已建立的有效连接。

 

windows常用命令

打开"运行"对话框(Win+R),输入cmd,打开控制台命令窗口...

也可以通过cmd /c 命令 和 cmd /k 命令的方式来直接运行命令

注:/c表示执行完命令后关闭cmd窗口;/k表示执行完命令后保留cmd窗口

# 控制台命令窗口中一些技巧

  • 复制内容:右键弹出快捷菜单,选择“标记(K)”,然后选中所需复制的内容,然后右键即可

  • 粘贴内容:右键弹出快捷菜单,选择“粘贴(P)”

  • 在文件夹空白处按住Shift,然后右键弹出快捷菜单,可以看到“在此处打开命令行窗口”

  • 使用上下方向键,翻看使用过的命令

tab补齐功能

  • 命令参数的路径:要使用反斜杠'\',不要使用正斜杠'/'        如:del d:\test2\file\my.txt

  • 命令参数的路径:若存在空格,应使用双引号将路径引起来       如:del "d:\program files\file\my.txt"

文件及目录名中不能包含下列任何字符:\ / : * ? " < > |

rem  // 在批处理文件中添加注解,其后的命令不会被执行,但会回显

::  // ::也可以起到rem的注释作用,且不会有回显

  • 任何以冒号:开头的字符行, 在批处理中都被视作标号(label),      而直接忽略其后的所有内容

  • 有效标号:冒号后紧跟一个以字母数字开头的字符串,goto语句可以识别

  • 无效标号:冒号后紧跟一个非字母数字的一个特殊符号,goto无法识别的标号,可以起到注释作用,::常被用作注释符号

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 // 在D:\建立mp3文件夹

  • md d:\mp4 // 在D:\建立mp4文件夹

  • cd /d d:\mp4 // 更改当前目录为d:\mp4

  • pushd c:\mp3 //      将当前目录d:\mp4入栈,并切换当前目录为c:\mp3

  • popd  //      将刚才保存的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 显示目录结构

  • 例: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 拷贝文件

  • 例: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 key.txt      +  // 复制文件到自己,实际上是修改了文件日期

  • 例: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  更强大的复制命令

  • 例:xcopy c:\bat\hai d:\hello\ /s /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 移动文件

  • 例: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      (若test中也存在同名的png图片,会询问是否覆盖)

  • 例:move test d:\new  //      若d盘中存在new文件夹,将当前目录下的test文件夹移动到d盘new文件夹中;若不存在,将当前目录下的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命令通过指定参数可以建立出不同形式的文件或目录链接,分为硬链接(hard link)、符号链接(symbolic link)和目录联接(junction)三种。

(1) 符号链接(symbolic link)

  • 建立一个软链接相当于建立一个文件(或目录),这个文件(或目录)用于指向别的文件(或目录),和win的快捷方式有些类似。

  •        删除这个链接,对原来的文件(或目录)没有影像没有任何影响;而当你删除原文件(或目录)时,再打开链接则会提示“位置不可用”。

(2) 目录联接(junction)

  • 作用基本和符号链接类似。区别在于,目录联接在建立时会自动引用原目录的绝对路径,而符号链接允许相对路径的引用。

(3) 硬链接(hard link)

建立一个硬链接相当于给文件建立了一个别名,例如对1.txt创建了名字为2.txt的硬链接;

  若使用记事本对1.txt进行修改,则2.txt也同时被修改,若删除1.txt,则2.txt依然存在,且内容与1.txt一样。

建立链接请注意:

  • a、建立文件或目录链接限于 NTFS      文件系统;符号链接(目录联接)的建立可以跨分区(如:在d盘可以建立c盘文件或目录的链接),硬链接只能建立同一分区内的文件指向

  • b、硬链接只能用于文件,不能用于目录;目录联接只能用于目录;符号链接则均可以;

  • 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:

print 1.txt  // 使用设置好的打印机来打印1.txt文本文件

call ff.bat   // 调用执行ff.bat脚本(ff.bat脚本执行完原脚本才会往下执行)

start  运行某程序或命令

  • 例:start /max      notepad.exe  // 最大化的方式启动记事本

  • 例:start /min      calc.exe   // 最小化的方式启动计算器

  • 例:start  tasklist  //      启动一个cmd实例窗口,并运行tasklist

  • 例:start explorer f:\  //      调用资源管理器打开f盘

  • 例:strat iexplore "www.landui.com"  //      启动ie并打开www.landui.com网址

  • 例:start ff.bat  //      启动开始执行ff.bat(启动ff.bat脚本后,原脚本继续执行,不会等ff.bat脚本执行完)



引用url:https://www.landui.com/weixin_44740377/article/details/93416053?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-4.no_search_link&spm=1001.2101.3001.4242.3

 

 


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: