bat/cmd脚本编写

最近要用到bat脚本,从零开始学起。以下内容均来源于网络,整理后贴在这里,让自己找起来方便。

1、DOS与CMD

DOS(disk operating system) 磁盘操作系统,是一个顶层系统,在Windows GUI(图形界面)出来以前就是人和机器交互的工具,当时人和机器交互就只能通过命令而不能使用鼠标,这种情形有点类似我们在电脑蓝屏重启时按F8进入安全模式。在Windows GUI问世后,DOS事实上已经不再需要,但其功能却以程序的形式被保留了下来,这个 程序在Windows中就是 cmd.exe。cmd.exe使用的命令行和DOS的命令大部分是一致的,所以可以认为cmd.exe和DOS有继承关系,但前者是一个程序,后者是一个操作系统,只是恰巧命令一样而已。
————————————————
版权声明:本文为CSDN博主「Georgetwo」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接: https://blog.csdn.net/Georgetwo/article/details/120355089

2、bat脚本

批(batch)处理文件,在DOS和Windows(任意)系统中,.bat文件是可执行文件,由一系列命令构成,其中可以包含对其他程序的调用。这个文件的每一行都是一条DOS命令(大部分时候就好像我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本等任何文本文件编辑工具创建和修改批处理文件。
---------------------
来源:bat的百度百科

3、开始编写

可以用任何文本文件编辑工具编写,我的方法是先创建txt,写完内容后重命名改后缀为.bat或.cmd都可以。

①先来一个显示“hello world”:

不能用中文标点符号,否则只会显示乱码。作用完全等同于打开cmd.exe输入命令行。

②把D盘下所有文件名输出到一个文件中:
③一些实用命令(应该会长期更新……)
批处理文件最常用的几个命令:
echo表示显示此命令后的字符
echo on 表示在此语句后所有运行的命令都显示命令行本身
echo off 表示在此语句后所有运行的命令都不显示命令行本身
@与echo off相像,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)
call 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)
pause 运行此句会暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用户按任意键后继续
rem 表示此命令后的字符为注释,不执行
title BAT的标题
cls 清除屏幕
————————————————
版权声明:本文为CSDN博主「苦逼的IT男」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接: https://blog.csdn.net/daoming1112/article/details/77197558
变量相关:
%CD% 获取当前目录
%PATH% 获取命令搜索路径
%DATE% 获取当前日期。
%TIME% 获取当前时间。
%RANDOM% 获取 0 和 32767 之间的任意十进制数字。
%ERRORLEVEL% 获取上一命令执行结果码

白痴最常用的命令之定位到当前路径(且为了美观不显示命令本身):

@echo off
cd %~dp0
cmd

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个使用 bat 脚本编译、链接和运行 asm 文件的示例程序: ``` @echo off set filename=test set objname=%filename%.obj set exe=%filename%.exe echo Assembling %filename%.asm... ml /c /coff %filename%.asm echo Linking %objname%... link /SUBSYSTEM:CONSOLE %objname% echo Running %exe%... %exe% echo Cleaning up... del %objname% del %exe% ``` 解释一下: 1. 第1行的 `@echo off` 意味着关闭命令行窗口的回显,使输出更加整洁。 2. 第2行和第3行设置了文件名和对象文件名。 3. 第5行使用 `ml` 命令(即 Microsoft Assembler)来编译汇编文件为对象文件。 4. 第7行使用 `link` 命令来将对象文件链接为可执行文件。`/SUBSYSTEM:CONSOLE` 表示生成一个控制台应用程序。 5. 第9行运行可执行文件。 6. 第11行清理对象文件和可执行文件。 如果你想使用 vbs 脚本来实现同样的功能,可以使用以下代码: ``` Set WshShell = CreateObject("WScript.Shell") filename = "test" objname = filename & ".obj" exe = filename & ".exe" WshShell.Run "cmd /c ml /c /coff " & filename & ".asm", 0, True WshShell.Run "cmd /c link /SUBSYSTEM:CONSOLE " & objname, 0, True WshShell.Run exe, 1, True Set FSO = CreateObject("Scripting.FileSystemObject") FSO.DeleteFile objname FSO.DeleteFile exe ``` 这个脚本使用 `WScript.Shell` 对象来运行命令行命令和可执行文件。在运行命令时,第二个参数为 0 意味着隐藏命令行窗口,第三个参数为 True 意味着等待命令执行结束后再继续执行脚本。最后,使用 `Scripting.FileSystemObject` 删除对象文件和可执行文件。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值