前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《我抽完一条烟也没想明白哪错》(1)DOS命令实现自动关机

《我抽完一条烟也没想明白哪错》(1)DOS命令实现自动关机

作者头像
吉师散养基地
发布2022-11-21 15:55:40
2130
发布2022-11-21 15:55:40
举报
文章被收录于专栏:我奏是太阳

目录

 前言

DOS命令基础

 问题代码

致命问题


 前言

🍀作者简介:吉师散养学生,为挣钱努力拼搏的一名小学生。 🍁个人主页:吉师职业混子的博客_CSDN博客-python学习,HTML学习,清览题库--C语言程序设计第五版编程题解析领域博主 🫒文章目的:记录下我在学习过程中遇到的各种难题 🍂相应专栏: 混子的网安之路_吉师职业混子的博客-CSDN博客

 给我整不会了,chao。。。

DOS命令基础

众所周知,网安学生啥都学,所以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

代码语言:javascript
复制
a = input("enter")

注意:如果没有/p的话,a就等于等号右边的那一长串。

而下面的shutdown,有以下数据供解释

  • shutdown   -l      注销。这不能与 /m 或 /d 选项一起使用。
  • shutdown   -s      关闭计算机。
  • shutdown   -r      完全关闭并重新启动计算机。
  • shutdown   -a      中止系统关闭。
  • shutdown   -p      关闭本地计算机,没有超时或警告。
  • shutdown   -h      休眠本地计算机。
  • shutdown   -t xxx  将关闭前的超时时间设置为 xxx 秒。     
  • shutdown   -c "comment" 有关重新启动或关闭的原因的注释。
  • shutdown   -f      强制关闭正在运行的应用程序而不事先警告用户。
  • shutdown   -d [p|u:]xx:yy  提供重新启动或关闭的原因。

 将这串命令丢出来后,就可以放心地讲goto了。

先说明这串代码中的几个块。

  1. menu
  2. 1
  3. 2
  4. 3

之所以在1、2中加入回到开头菜单的命令是因为

如果不回去的话,因为DOS命令是从上到下执行的

假设执行1,那么2、3也会在后续执行。

目光回到第一个set语句那里。

在这里,设置了一个名为num的变量,负责读取用户输入的数字,将其赋给自己。

通过goto语句,跳转到相应的块里面,执行相应的命令,而在变量左右加入%,则是表示引用该变量的值。

致命问题

在本段代码中,输入1之后并不能执行shutdown命令。

在我个人测试时,发现问题应该如下

shutdown是可以正常运行的,测试命令

shutdown -s -t 300

5分钟后关机,也是可以运行的。

问题就出在,如果执行

shutdown -s -t300

输出的错误信息和该程序正常执行报错是一样的。问题应该就出现在这,求大佬指教。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •  前言
  • DOS命令基础
  •  问题代码
  • 致命问题
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档