目录
🍀作者简介:吉师散养学生,为挣钱努力拼搏的一名小学生。 🍁个人主页:吉师职业混子的博客_CSDN博客-python学习,HTML学习,清览题库--C语言程序设计第五版编程题解析领域博主 🫒文章目的:记录下我在学习过程中遇到的各种难题 🍂相应专栏: 混子的网安之路_吉师职业混子的博客-CSDN博客
给我整不会了,chao。。。
众所周知,网安学生啥都学,所以DOS也是绕不开的,只不过因为DOS多用于恶意小程序,以及一大堆没啥用的操作,很少有人学过这一门语言。
很多大佬问:DOS是干什么用的?
我只能苦笑说一个6。
据我所知(据我瞎扯),在计算机刚诞生的年代,是没有鼠标这种配件的,在这种情况下,DOS应运而生,通过命令行终端实现对文件、进程等等的操作。
DOS的破坏效果还是十分强大的,例如
echo 输出内容 类似于 print
学习DOS的第一步,自然是hello world。
首先,如果echo代表输出的话,我们就可以直接在bat文件中编辑
echo hello world!
点击运行后,会出现命令行一闪而过,咱也不到输出成功没有。
所以在上述命令后面,加入
pause
意义是在命令行输出之后暂停执行,避免命令行一闪而过的情况。
修改之后输出如下
可以看到。。。怎么评价,
非常难看,对吧。
前面的执行路径看着非常闹心,有没有哪行命令能够搞掉他呢。
有的。
在文件执行的最前面,输入
@echo off
即可实现想要的效果
上述命令会了吧,那就看看我们这次的问题
依次往下看,首先第一行
@echo off,屏蔽屏幕不合理输出。
title qingshu,设置标题,这是我的情书。
color f0 ,将执行时的背景颜色设为白色(f0),其他颜色寄几搜,屑屑。
echo ==============,两个都是为了美观,(为了)看起来像边框。
echo 1.....
echo 2.....自定义选项。
先跳过下面的一连串if语句,
直接从 :1 开始看,
首先,:1即是设置了一个名称为1的块,当然,这里并不是因为前面的自定义选项有1,2,3而强制要求,只要你喜欢,这里的名甚至可以改成你的前女友(doge
1中有一个set命令,即为设置一个变量,/p则是将用户输入的值赋给前面的变量,等号右边的拼音,则是类似于python中input()里的enter
a = input("enter")
注意:如果没有/p的话,a就等于等号右边的那一长串。
而下面的shutdown,有以下数据供解释
将这串命令丢出来后,就可以放心地讲goto了。
先说明这串代码中的几个块。
之所以在1、2中加入回到开头菜单的命令是因为
如果不回去的话,因为DOS命令是从上到下执行的
假设执行1,那么2、3也会在后续执行。
目光回到第一个set语句那里。
在这里,设置了一个名为num的变量,负责读取用户输入的数字,将其赋给自己。
通过goto语句,跳转到相应的块里面,执行相应的命令,而在变量左右加入%,则是表示引用该变量的值。
在本段代码中,输入1之后并不能执行shutdown命令。
在我个人测试时,发现问题应该如下
shutdown是可以正常运行的,测试命令
shutdown -s -t 300
5分钟后关机,也是可以运行的。
问题就出在,如果执行
shutdown -s -t300
输出的错误信息和该程序正常执行报错是一样的。问题应该就出现在这,求大佬指教。