cmd基本使用方法和命令总结

 

 

注释命令
::
rem

1-cmd:获取当前路径:
set cur_path=%cd%
echo %cur_path%

2-cmd:设置cmd窗口标题
title name

3-cmd:写数据到当前目录下的文件
echo %time% > %cd%\record.txt
echo start >> %cd%\record

备注:如果目录有空格,需要将%cd%用引号括起来 例如:"%cd%"

4-cmd:计数
set count = 1
set /a count = count + 1
echo %count%

5-cmd:loop循环使用
:loop
echo time > test.txt
if %j%== %n% goto end 
goto loop
:end

6-cmd:算数运算
set count = 10
set /a %count% /2 [除法,结果是5]
set /a %count% /%2 [取余,结果是0]

备注:cmd脚本中取余要用2个% , 例如[set /a f = %count% %% 2]

7-cmd:设置时间等待
ping 127.0.0.1 > nul

8-cmd:取日期
set datetime = %date:~0,10% //从第0位开始,取10位字符 
set year = %date:~0,4%【2016】
set month = %date:~5,2%【11】
set day = %date:~8,2%【02】
echo %time%【15:14:08.98】

for /f "tokens=1-3 delims=/" %%a in ('date /t') do (set mydate=%%a-%%b-%%c)
说明:取前123个参数,使用“/” 分割, 必须使用单引号, %%a 是显示申明, %%b %%c 是隐式声明的参数,必须是连续的字符

9-cmd:for循环的使用:
计数
for /l %%a in (1,1,5) do echo %%a


读文件和目录
for %%i in (a.txt) do echo %%i //没有加参数只会显示a.txt这个名字,不会显示内容
for /f %%i in (a.txt) do echo %%i //加了/f这个参数会读出a.txt文件的内容
以上是以文件的一行作为一个%%i输出的

如果需要将一行分解成更小的内容处理,需要配合使用tokens 和 delims 了
例如:
for /f "delims= " %%i in (a.txt) do echo %%i //以空格分隔,%%i显示分隔后的第一个元素
for /f "tokens=2 delims= " in (a.txt) do echo %%i //以空格分隔,%%i显示分隔后的第二个元素
注意:tokens后面必须有个空格,而且tokens参数必须在delims的前面

备注:tokens支持通配符
tokens=2-3
tokens=2,3
tokens=* //全部

skip参数是忽略文件前n行
eol参数是指定当一行以什么符号开始就忽略它
例如:
for /f "skip=1 tokens=* delims= " in (a.txt) do echo %%i //tokens必须等于* ,不然只会去每行的第一个参数

10-cmd:查找当前文件夹中指定类型文件中的异常关键字
列出指定类型文件的命令
dir /b "*.txt" // /b参数可以列出完整的路径

for /f "tokens=*" %%f in ('dir /b "*.txt"') do (
findstr /n /c: "CRASH" /c:"ANR" "%%f" && (echo %%f中有异常>>error.txt) || (echo %%f中没有有异常>>error.txt)
)
说明:必须使用单引号, /n 表示显示行号 /c:搜索异常的关键字

还有一种可以处理多种类型的文件
for %%f in (*.txt *.log) do (
...
)

11-cmd: & 和&&区别
echo gao & echo qiang
&:不管命令是否执行成功,一直执行完毕
&&:执行多条命令,当前出错时就停止

12-cmd: | 命令
管道命令,前一个命令的结果作为下个命令的参数
例如:
netstat -n -p tcp | find "3389"

13-cmd:关于 1>nul 和 2>nul
1>nul :不显示命令运行的正确提示
例如:echo gao 1>nul //结果不会有任何提示

2>nul :不显示错误的提示
例如: gao 2>nul  //结果不会有错误提示


14-cmd: 关于~符号的应用
set s ="gaopinqiang"
echo %s:~3,10% //从第三个字符开始取,取10个字符
可以取变量的指定内容,类似于Python中的分片

截取最后5个字符
echo %s:~-5%

15-cmd: for 循环中使用set失效问题(需要设置 变量延迟)
问题背景:在for循环中取时间变量,每次取的时间都一样,分析后发现是因为set 为生效

例如:
set num=0 && echo %num% // 会提示ECHO处于打开状态,因为cmd预编译机制并未对num赋值,所以echo命令结果就是echo处于打开

setlocal EnableDelayedExpansion 设置变量延迟 可以解决该问题
例如:
setlocal EnableDelayedExpansion
set num=0 && echo !num!
注意:使用变量延迟的时候需要把%num% 变化为 !num!

这样for中就可以使用set 命令设置变量了,不会导致不生效问题

 

 

  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值