Windows&DOS_批处理&命令行系列01_常用的命令行指令(未完待续)

批处理 .BAT 功能之强大,想必不需要我多说,

嵌入式大型工程的编译及链接形成可执行文件的过程中,常常会用到这种命令行进行一些工具的调用和 处理,方便快捷,简单高效,并且自动化程度相对较高,是十分趁手的小工具:

下面介绍一些常用的命令行指令(未完待续)

常用指令:
————————————
001_注释:
REM 为注释命令,一般用来给程序加上注解,该命令后的内容不被执行,----能回显。
:: 双冒号代表注释 其实:+也能够起到注释的作用; ----不能回显。
Note: 与rem 不同的是, ::后的字符行在执行时不会回显, 无论是否用echo on 打开命令行回显状态, 因为命令
解释器不认为他是一个有效的命令行, 就此点来看, rem 在某些场合下将比 :: 更为适用;
——————————————————————
002_命令回显的打开与关闭显示
@ : @字符放在命令前将关闭该命令回显,无论此时echo 是否为打开状态。
echo off: 关闭命令回显
echo on : 打开命令回显
ECHO. :输出一个空行 “.”要紧跟在ECHO 后面中间不能有空格
如果想关闭“ECHO OFF”命令行自身的显示,则需要在该命令行前加上“@”。
——————————————————————————————————————————————————————————
003_Pause 的用法
PAUSE :是停止系统命令的执行并显示下面的内容。
运行显示: 请按任意键继续. . .
!!要显示其他提示语,可以这样用:
Echo 其他提示语 & pause > nul
——————————————————————
004_设置DOS窗口的大小和颜色
mode con cols=113 lines=15 & color 9f
——————————————————
005_设置DOS窗口的颜色:
COLOR [attr]
attr:一个字节,由两个十六进制数字指定 – 第一个为背景,第二个则为前景。每个数字可以为以下任何值之一:
0 = 黑色 8 = 灰色
1 = 蓝色 9 = 淡蓝色
2 = 绿色 A = 淡绿色
3 = 湖蓝色 B = 淡浅绿色
4 = 红色 C = 淡红色
5 = 紫色 D = 淡紫色
6 = ** E = 淡**
7 = 白色 F = 亮白色
————————————————————————————————————
006_Title
设置cmd 窗口的标题
title 新标题 #可以看到cmd 窗口的标题栏变了
————————————————————————————————————
008_命令指令模块批处理中的变量—>“系统变量"和"自定义变量”
系统变量:不需赋值,只需调用! !


009_程序返回码
echo %errorlevel%
默认为echo 0 ,出错为echo 1;
——————————————————————————————
010_系统变量_返回批处理的参数
%1 返回批处理的第一个参数;
%2 返回批处理的第二个参数;

%9 返回批处理的第九个参数;
这些%1 和%9 可以让批处理也能带参数运行,大大提高批处理功能!
特殊系统变量:
%* 能够一次返回所有的系统变量;
%0 龙卷风补充:其实%0 就是第一参数%1 前面那个参数,当然就是批处理文件名(包括路径)。
两层意思:
第一层意思:返回批处理所在绝对路径
例子:
@echo off
echo %0
pause
保存为test.BAT 放在桌面运行,会显示如下结果 “C:\Documents and Settings\Administrator\桌面\test.bat”
他把当前批处理执行的所在路经打印出来了,这就是返回批处理所在绝对路径的意思
第二层意思:无限循环执行BAT
例子:
@echo off
net user
%0
保存为BAT 执行,他就会无限循环执行net user 这条命令,直到你手动停止.
——————————————————————————————————————————————————————————————————
011——自定义变量
使用set 命令自定义变量:
用法一: 定义自定义变量var
@echo off
set var=我是值
echo %var%
pause
用法二:用户键盘输入变量的值,而不是在代码里指定,类似于C语言的scanf 函数;

做法:用set 命令的 /p 参数
示例:
@echo off
set /p var=请输入变量的值
echo %var%
pause
var 变量名 =号右边的是提示语,不是变量的值
变量的值由我们运行后自己用键盘输入!

011——标签和Goto 语句
GOTO 跳转
标号 在批处理中允许以“:XXX”来构建一个标号, :XXX 必须是字母或者数字开头;
跳转到标号 然后用GOTO XXX 跳转到标号 :XXX 处,然后执行标号后的命令。
示例:
@echo off
::定义一个标签
:start
set /a var+=1
echo %var%
if %var% leq 3 GOTO start
pause


012_start 命令
批处理中调用外部程序的命令_该外部程序在新窗口中运行,批处理程序继续往下执行,不理会外部程序的运行状况),

如果直接运行外部程序则必须等外部程序完成后才继续执行剩下的指令
示例:start explorer c:
调用图形界面打开C盘
@echo off
:start
set /a var+=1
echo %var%
if %var% leq 3 GOTO start
pause
start explorer c:
pause

——————————————————————————————————————————
013_CALL
CALL 命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后,再继续执行原来的批处理

CALL [drive:][path]filename [batch-parameters]
调用的其它批处理程序。filename 参数必须具有 .bat 或 .cmd 扩展名。

CALL :label arguments
调用本文件内命令段,相当于子程序。被调用的命令段以标签:label 开头以命令goto :eof 结尾。
为了让大家看的更细节,我简单写了一个.bat 文件;
文件执行起来是这样的 ;:在这里插入图片描述好了,后面我会持续在这个基础上进行补充;

9

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中,泛型是一种强类型机制,它可以让你在编译时检查类型错误,从而提高代码的安全性和可读性。在使用泛型时,我们经常会遇到父类和子类的泛型转换问题。 首先,我们需要明确一点:子类泛型不能转换成父类泛型。这是因为Java中的泛型是不协变的。例如,如果有一个类A和它的子类B,那么List<A>和List<B>之间是不存在继承关系的。 下面我们来看一个例子: ```java public class Animal { //... } public class Dog extends Animal { //... } public class Test { public static void main(String[] args) { List<Animal> list1 = new ArrayList<>(); List<Dog> list2 = new ArrayList<>(); list1 = list2; // 编译错误 } } ``` 在这个例子中,我们定义了Animal类和它的子类Dog。然后我们定义了两个List,分别是List<Animal>和List<Dog>。如果将List<Dog>赋值给List<Animal>,会出现编译错误。这是因为List<Animal>和List<Dog>之间不存在继承关系。 那么,如果我们想要让子类泛型转换成父类泛型,应该怎么办呢?这时我们可以使用通配符来解决问题。通配符可以表示任意类型,包括父类和子类。例如,我们可以将List<Dog>赋值给List<? extends Animal>,这样就可以实现子类泛型转换成父类泛型了。 下面我们来看一个使用通配符的例子: ```java public class Animal { //... } public class Dog extends Animal { //... } public class Test { public static void main(String[] args) { List<Animal> list1 = new ArrayList<>(); List<Dog> list2 = new ArrayList<>(); list1 = list2; // 编译错误 List<? extends Animal> list3 = new ArrayList<>(); list3 = list2; // 正确 } } ``` 在这个例子中,我们定义了List<? extends Animal>来表示任意继承自Animal的类型。然后我们将List<Dog>赋值给List<? extends Animal>,这样就可以实现子类泛型转换成父类泛型了。 总结一下,Java中的泛型是不协变的,子类泛型不能转换成父类泛型。如果需要实现子类泛型转换成父类泛型,可以使用通配符来解决问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值