at 语法

本文介绍如何使用at命令在特定时间或周期性地执行任务,包括命令格式、参数说明及实例演示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

at 语法:
at [\\computername] time [/interactive] [/every:date[,...]| /next:date[,...]] command
\\computername      指定远程计算机。如果省略该参数,命令将安排在本地计算机
time    指定运行命令的时间。将时间以 24 小时标记(00:00 [午夜] 到 23:59)的方式表 示为小时:分钟。
/interactive      允许作业与在作业运行时登录用户的桌面进行交互。
/every:date[,...]       在每个星期或月的指定日期(例如,每个星期四,或每月的第三天)运行命令。将 date 指定为星期的一天或多天 (M,T,W,Th,F,S,Su),或月的一天或多天(使用 1 到 31 的数字)。用逗号分隔多个日期项。如果省略了 date,将假定为该月的当前日期。
/next:date[,...]        在重复出现下一天(例如,下个星期四)时,运行指定命令将 date 指定为星期的一天或多天 (M,T,W,Th,F,S,Su),或月的一天或多天(使用 1 到 31 的数字)。用逗号分隔多个日期项。如果省略了 date,将假定为该月的当前日期。
command         指定要运行的 Windows 2000 命令、程序(.exe 或 .com 文件)或批处理程序(.bat 或 .cmd 文件)。当命令需要路径作为参数时,请使用绝对路径,也就是从驱动器号开始的整个路径。如果命令在远程计算机上,请指定服务器和共享名的 UNC 符号,而不是远程驱动器号。如果命令不是可执行 (.exe) 文件,必须在命令前加上 cmd /c,例如:  cmd /c dir > c:\test.out
 
at [\\computername] [[id] [/delete] | /delete [/yes]]
id  指定指派给已计划命令的识别码。
/delete  取消已计划的命令。如果省略了 id,计算机中已计划的命令将被全部取消。
/yes   当删除已计划的事件时,对系统的查询强制进行肯定的回答。
 
假如要在每天下午6点执行一个批处理文件,如下:
at 18:00 /interactive /every:M,T,W,Th,F,S,Su d:\restart.bat


计算机将在13:35这个时间关机,在关机之前有15秒的等待时间。
at 13:35 shutdown -s -t 15  


AT&T汇编语法是Unix和Linux系统中常用的汇编语言语法格式,与Intel语法在表示方式上有所不同。它广泛应用于x86架构的底层开发、操作系统内核调试以及逆向工程等领域。 ### AT&T汇编语法的基本规则 1. **寄存器命名** 所有寄存器名前面必须加上 `%` 符号。例如,通用寄存器 `eax` 在AT&T语法中写为 `%eax` [^1]。 2. **立即数前缀** 立即数(常量)需要以 `$` 开头。例如,将数值 `0x1234` 传入寄存器 `%eax` 的指令为: ```assembly movl $0x1234, %eax ``` 3. **内存寻址** 内存操作数使用括号 `()` 表示间接寻址。例如,访问地址 `%eax` 处的内容应写作 `(%eax)` [^1]。 - 常见形式如:`offset(base, index, scale)`,其中: - `offset` 是偏移量; - `base` 是基址寄存器; - `index` 是索引寄存器; - `scale` 是比例因子(只能是 1、2、4 或 8)。 示例: ```assembly movl 8(%ebx, %ecx, 4), %edx ``` 表示将地址 `%ebx + %ecx * 4 + 8` 处的数据加载到 `%edx` 中 [^1]。 4. **操作数顺序** 操作数顺序为“源在前,目标在后”。例如: ```assembly movl %eax, %ebx ``` 表示将 `%eax` 的内容复制到 `%ebx` [^1]。 5. **指令后缀** AT&T语法要求每条指令带有一个后缀,用于指定操作数的大小: - `b`(byte,8位) - `w`(word,16位) - `l`(long,32位) - `q`(quad,64位,仅适用于x86-64) 示例: ```assembly movb $0xFF, %al # 8位移动 movw $0xFFFF, %ax # 16位移动 movl $0xFFFFFFFF, %eax # 32位移动 ``` 6. **注释** 使用 `#` 进行单行注释: ```assembly # 将1234h送入eax寄存器 movl $0x1234, %eax ``` 7. **段寄存器使用** 访问段寄存器时,使用 `seg:offset` 形式。例如: ```assembly movw %ds:0x1234, %ax ``` 表示从数据段 `%ds` 的偏移地址 `0x1234` 处读取一个字到 `%ax` [^1]。 ### AT&T汇编语法教程资源 - **GNU Assembler (GAS) 文档** GNU 工具链中的 GAS 支持 AT&T 汇编语法,官方文档详细描述了其语法规则及使用方法。 - **《Programming from the Ground Up》** 这是一本经典的入门级汇编语言书籍,采用 AT&T 语法编写,适合初学者学习基本概念和编程技巧。 - **在线教程与示例代码** 可通过查阅 Linux 内核源码或开源项目中的 `.s` 文件来熟悉实际应用中的 AT&T 汇编语法。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值