window的dos命令学习笔记 一

说明:

因为之前接触过一个bat命令,用来删除的目录下所有文件,所以一直想着抽时间学习一下dos命令。

1、学习dos命令的起源:

我来说下一个我想学习dos的起源:
之前我遇到有一些脏文件删除不掉,怎么删除都无效,后来网上各种搜索搜到下面个删除方法,只需要把需要删除的文件或者文件夹拖入到这个.bat文件上面就行,成功之后一直对dos命令很好奇,因为后缀为.bat,搜索之后才知道.bat后缀的就是dos命令,就好比.sh是shell命令的后缀,然而过了很久,一直没有抽出时间学习一下dos,最近准备,抽出没事的时间学习一下dos的基本知识。

统统删除bat脚本

下面是我学dos的起源的删除bat脚本。至于搜到这个方法的页面我也记不清了,当时网上也是搜了好久,如果原作者看到,还望见谅。不过还是要谢谢这个命令的作者,算是我学dos的间接引导者。这个方法确实提高了我的工作效率(删除文件特别快,比右键删除快了不少(文件数量多的时候),还不用去回收站再次删除)。

新建一个文本文件:

粘贴以下代码:

DEL /F /A /Q \\?\%1
RD /S /Q \\?\%1

然后保存之后另存为其他文件,类型为所有类型,后缀为.bat
也可以保存文件之后直接修改后缀,方法可以参考我的另一个博客:
window10 系统下如何修改文件后缀

下面是我修改成功的一个bat命令,因为这个bat文件就是删除各种文件(不好删除的文件也可以删除,如果实在不行,等下次电脑重启之后,再进行这个操作就行了,我就遇到过一次删除不好删除,但是重启就可以了。)

在这里插入图片描述

在这里插入图片描述

扫描二维码关注公众号,回复: 10714455 查看本文章

把这个文件复制到需要删除的文件或文件夹同级,然后拖动到这个文件上方,就会很快删除了,时间根据文件数量和大小决定(这个删除是完全删除,回收站找不到,因为工作中,我要删除几万的小文件,这个方法比放入回收站快很多,但是不可恢复。)
自此,我对dos产生了浓厚的兴趣,因为效率真的是很快,比我使用python模块删除文件快很多,如果只是删除一个文件和文件夹,可以使用此方法。

一、dos历史学习笔记(后期整合到这里,嘿嘿,加油)

这个是我所以的dos学习笔记,希望对感兴趣的你有所帮助,如有错误,还望不吝赐教。如果对你有帮助,希望给我点个赞哈,Thanks♪(・ω・)ノ

学习主要还是靠坚持,如果真的觉得学一个知识,就坚持下去;三天打鱼俩天晒网,真的不如躺着歇,刷刷剧,或者玩俩局游戏。。。

window的dos命令学习笔记 一

window的dos命令学习笔记 二

window的dos命令学习笔记 三

window的dos命令学习笔记 四

window的dos命令学习笔记 五

window的dos命令学习笔记 六

window的dos命令学习笔记 七

window的dos命令学习笔记 八— bat文件打包成exe程序(实现脚本加密)

window的dos命令学习笔记 九— bat使用小工具

一、一些常用的批处理命令:

0、学习小技巧:

如果大家对那个DOS命令不明白,可以通过输入“命令”/? 来得到系统提供的帮组信息。
比如:

del /?

在这里插入图片描述

1、什么是批处理

批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理。目前比较常见的批处理包含两类:DOS批处理和PS批处理。PS批处理是基于强大的图片编辑软件Photoshop的,用来批量处理图片的脚本;而DOS批处理则是基于DOS命令的,用来自动地批量地执行DOS命令以实现特定操作的脚本。这里要讲的就是DOS批处理。
  批处理是一种简化的脚本语言,它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的命令解释器(通常是COMMAND.COM或者CMD.EXE)解释运行。类似于Unix中的Shell脚本。批处理文件具有.bat或者.cmd的扩展名,其最简单的例子,是逐行书写在命令行中会用到的各种命令。更复杂的情况,需要使用if,for,goto等命令控制程序的运行过程,如同C,Basic等高级语言一样。如果需要实现更复杂的应用,利用外部程序是必要的,这包括系统本身提供的外部命令和第三方提供的工具或者软件。
批处理文件,或称为批处理程序,是由一条条的DOS命令组成的普通文本文件,可以用记事本直接编辑或用DOS命令创建,也可以用DOS下的文本编辑器Edit.exe来编辑。在“命令提示”下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe运行该批处理程序。
一般情况下,每条命令占据一行;当然也可以将多条命令用特定符号(如:&、&&、|、||等)分隔后写入同一行中;还有的情况就是像if、for等较高级的命令则要占据几行甚至几十几百行的空间。系统在解释运行批处理程序时,首先扫描整个批处理程序,然后从第一行代码开始向下逐句执行所有的命令,直至程序结尾或遇见exit命令或出错意外退出。

2、echo (打印输出后面结果)

echo 表示显示此命令后的字符
echo off 表示在此语句后所有运行的命令都不显示命令行本身
@ 与echo off相象,但它是加在其它命令行的最前面,表示运行时不显示命令行本身。

①、echo

这个其实就是打印,和linux下的echo的功能一样,因为我前几天刚学习了一下shell编程,所以比较印象深刻;如果你不会shell,其实这个和python的print也是功能差不多。

  1. window下cmd中:
    在这里插入图片描述

  2. linux下命令
    在这里插入图片描述

  3. python下:
    在这里插入图片描述

②、echo off

这个就相当于进入dos的环境。
这个就相当于cmd中输入python进入python环境一样(我的个人理解,如有不对,欢迎留言赐教)。

在这里插入图片描述
在这里插入图片描述

3、pause(暂时,可以用来脚本执行结束时提示)

pause 运行此句会暂停,显示Press any key to continue… 等待用户按任意键后继续

例如我写个1hello.bat脚本:

echo off
echo "hello,我是奋斗吧-皮卡丘,这是我自己写的的第一个bat批处理命令"
pause

在这里插入图片描述
保存之后,直接点击:
在这里插入图片描述
echo off改为@echo off。
在这里插入图片描述
执行就这样了。说明加入@,后面返回的是执行命令之后的结果。
在这里插入图片描述

4、call(执行命令)

call 调用另一条批处理文件(如果直接调用别的批处理文件 ,执行完那条文件后将无法执行当前文件后续命令)

这个我的个人理解,其实就是相当于cmd中执行python文件的python 文件名.py.前面的python;shell执行脚本sh 文件名.sh前面的sh.

在这里插入图片描述
加入@之后的结果:
在这里插入图片描述

5、rem(注解)

REM 和 :: REM为注释命令,一般用来给程序加上注解,该命令后的内容不被执行,但能回显。 其次, :: 也可以起到rem 的注释作用,
而且更简洁有效; 但有两点需要注意: 第一, 任何以冒号:开头的字符行, 在批处理中都被视作标号, 而直接忽略其后的所有内容。
有效标号:冒号后紧跟一个以字母数字开头的字符串,goto语句可以识别。
无效标号:冒号后紧跟一个非字母数字的一个特殊符号,goto无法识别的标号,可以起到注释作用,所以 :: 常被用作注释符号,其实 :+
也可起注释作用。 第二, 与rem 不同的是, ::后的字符行在执行时不会回显, 无论是否用echo on打开命令行回显状态,
因为命令解释器不认为他是一个有效的命令行, 就此点来看, rem 在某些场合下将比 :: 更为适用; 另外, rem 可以用于
config.sys 文件中。

行内注释格式:%注释内容% (不常用,慎用)

rem 后面跟注解的内容,后面的内容,方便阅读脚本,相当于python和shell注解前面的#
但是执行中是不显示的。
比如:
新写入一个脚本:

@echo off
echo "hello,我是奋斗吧-皮卡丘,这是我自己写的的第二个bat批处理命令"
rem "这个是我的第二个bat批处理命名"
pause

执行之后:

在这里插入图片描述

6、测试文件中写入call命令是否执行:

新建一个bat脚本:
其他e:000dos\1hello.bat这个文件存在:

@echo off
echo "hello,我是奋斗吧-皮卡丘,这是我自己写的的第二个bat批处理命令"
rem "这个是我的第二个bat批处理命名"
call e:000dos\1hello.bat
pause

然后,保存之后,如果直接点击运行,我这里是执行不了。
在这里插入图片描述
但是我使用cmd用call执行这个新建的bat文件可以执行。(我的个人感觉还是环境的问题,估计直接点击bat文件的环境和cmd中的环境不一样的原因导致吧,如果理解有误,欢迎懂的大佬解惑。)
在这里插入图片描述

在这里插入图片描述

如果日后有时间,我感觉我还会再学习一下powershell吧。

7、del(删除文件命令,不删除文件夹)

这个类似shell的rm操作。
命令模式:

del 参数 需要删除的文件或者目录

使用的参数类型:

  /P            删除每一个文件之前提示确认。
  /F            强制删除只读文件。
  /S            删除所有子目录中的指定的文件。
  /Q            安静模式。删除全局通配符时,不要求确认
  /A            根据属性选择要删除的文件

其实这个些参数些成小写也是可以的:
在这里插入图片描述
不过为了规范,还是写大写比较好。

8、传参:%

%表示参数,参数是指在运行批处理文件时在文件名后加的字符串。变量可以从 %0到%9,%0表示文件名本身,字符串用%1到%9顺序表示第一个到第九个参数。
%*表示所以参数(除本身文件名外)
默认会把

编写一个bat文件,写入代码:

@echo off
echo "文件名是%0"
echo "第一个参数%1"
echo "第二个参数%2"
echo "第三个参数%3"
echo "所有参数%*"

pause

执行代码,

call e:\000dos\4传参.bat hell every one very good

在这里插入图片描述
可以从结果看出来,参数一次,第一个为文件名,后面参数以空格问分割。

由于好奇我之前的删除脚本,然后进行一个模拟,
在这里插入图片描述
我把3拖到4的上面,看看出现什么结果。
在这里插入图片描述
然后发现,第一个参数就是拖入的文件名,所以我也就知道了删除脚本的第一行命令。

几个特殊字符:

%CD% - 扩展到当前目录字符串。

%DATE% - 用跟 DATE 命令同样的格式扩展到当前日期。

%TIME% - 用跟 TIME 命令同样的格式扩展到当前时间。

%RANDOM% - 扩展到 0 和 32767 之间的任意十进制数字。
在这里插入图片描述

9、rd (删除目录)

我发现起源的文件就是使用del和rd俩个命令进行制作的,

删除一个目录。

RMDIR [/S] [/Q] [drive:]path RD [/S] [/Q] [drive:]path

/S      除目录本身外,还将删除指定目录下的所有子目录和
        文件。用于删除目录树。

/Q      安静模式,带 /S 删除目录树时不要求确认

这个如果不会,可以直接在cmd中,如初rd /?即可查看使用方法。

由于前面的del测试无法删除文件夹,不过可以把所有的文件夹内所有的文件删除,二者集合可以删除文件,但是我测试直接使用rd也可以达到效果。
但是只能文件合适才可以,如果我把一个文件设置问只读,就无法删除了,这时候del的效果就能排上用场了,del可以删除各种文件(只要不占用),rd可以删除剩余的文件夹。

这也只读为什么删除脚本的写法del放前面,rd放后面。

10、cls(清屏)

cls 命令
清除屏幕。执行该命令后,屏幕上的所有信息都被清除,光标重新定位至屏幕左上角。

这个类似于Linus中的clear,就是为了清屏。

11、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           如果源是符号链接,请将链接复制
               到目标而不是源链接指向的实际文件。

命令行开关 /Y 可以在 COPYCMD 环境变量中预先设定。 这可能会被命令行上的 /-Y 替代。除非 COPY
命令是在一个批处理脚本中执行的,默认值应为 在覆盖时进行提示。

要附加文件,请为目标指定一个文件,为源指定 数个文件(用通配符或 file1+file2+file3 格式)。

复制大bat脚本:

@echo off 
copy E:\000photo   E:\000dos\111
pause

执行之后,E:\000photo目录下的所以文件会复制到 E:\000dos\111目录下。

12、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 对确认覆盖一个现有目标文件发出提示。

命令行开关 /Y 可以出现在 COPYCMD 环境变量中。这可以用命令行上
的 /-Y 替代。默认值是,除非 MOVE 命令是从一个批脚本内
执行的,覆盖时都发出提示。

创建一个bat移动脚本

@echo off

move  E:\000dos\111 E:\000dos\222
pause

点击执行之后,后直接把111这个目录,全部移动到222里面,目录也会移动。
注意点:

  1. 如果222目录存在,会自动移动111目录到222里面。
  2. 如果222目录不存在(但是上一级000dos目录必须存在,如果不存在,移动失败),会自己创建222,并且把111里面的所有子文件和目录(不含111目录)移动到222中。

二、计算机运行命令全集

常用的几个(这个根据我自己的使用,其他的自己参考):

notepad--------打开记事本
calc-----------启动计算器
tsshutdn-------60秒倒计时关机命令
mspaint--------画图板

其他的一些,如果不全自己搜索把:

winver---------检查Windows版本

wmimgmt.msc----打开windows管理体系结构

wupdmgr--------windows更新程序

wscript--------windows脚本宿主设置

write----------写字板winmsd-----系统信息

wiaacmgr-------扫描仪和照相机向导

winchat--------XP自带局域网聊天

mem.exe--------显示内存使用情况

Msconfig.exe---系统配置实用程序 

mplayer2-------简易widnows media player


mstsc----------远程桌面连接

mplayer2-------媒体播放机

magnify--------放大镜实用程序

mmc------------打开控制台

mobsync--------同步命令

dxdiag---------检查DirectX信息

drwtsn32------ 系统医生

devmgmt.msc--- 设备管理器

dfrg.msc-------磁盘碎片整理程序

diskmgmt.msc---磁盘管理实用程序

dcomcnfg-------打开系统组件服务

ddeshare-------打开DDE共享设置

dvdplay--------DVD播放器

net stop messenger-----停止信使服务

net start messenger----开始信使服务 


nslookup-------网络管理的工具向导

ntbackup-------系统备份和还原

narrator-------屏幕"讲述人"

ntmsmgr.msc----移动存储管理器

ntmsoprq.msc---移动存储管理员操作请求

netstat -an----(TC)命令检查接口

syncapp--------创建一个公文包

sysedit--------系统配置编辑器

sigverif-------文件签名验证程序

sndrec32-------录音机

shrpubw--------创建共享文件夹

secpol.msc-----本地安全策略

syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码

services.msc---本地服务设置

Sndvol32-------音量控制程序

sfc.exe--------系统文件检查器

sfc /scannow---windows文件保护


tourstart------xp简介(安装完成后出现的漫游xp程序)

taskmgr--------任务管理器

eventvwr-------事件查看器

eudcedit-------造字程序 

explorer-------打开资源管理器

packager-------对象包装程序

perfmon.msc----计算机性能监测程序

progman--------程序管理器

regedit.exe----注册表 

rsop.msc-------组策略结果集

regedt32-------注册表编辑器

rononce -p ----15秒关机

regsvr32 /u *.dll----停止dll文件运行

regsvr32 /u zipfldr.dll------取消ZIP支持

cmd.exe--------CMD命令提示符

chkdsk.exe-----Chkdsk磁盘检查

certmgr.msc----证书管理实用程序

charmap--------启动字符映射表

cliconfg-------SQL SERVER 客户端网络实用程序

Clipbrd--------剪贴板查看器

conf-----------启动netmeeting

compmgmt.msc---计算机管理

cleanmgr-------**整理

ciadv.msc------索引服务程序

osk------------打开屏幕键盘

odbcad32-------ODBC数据源管理器

oobe/msoobe /a----检查XP是否激活

lusrmgr.msc----本机用户和组

logoff---------注销命令

iexpress-------木马捆绑工具,系统自带

Nslookup-------IP地址侦测器

fsmgmt.msc-----共享文件夹管理器

utilman--------辅助工具管理器

gpedit.msc-----组策略 
发布了197 篇原创文章 · 获赞 105 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/weixin_42081389/article/details/103496713
今日推荐