rr.bat

本文介绍了一个批处理脚本,用于递归地删除指定路径下的目录或文件。该脚本支持两种操作模式:删除目录(-d)和删除文件(-f)。通过参数配置,可以在不同的环境中灵活使用。

批处理实现递归删除指定路径下的指定目录或文件。

@echo off rem rr.bat(Recursive Remover). rem t0nsha@20090730_2313<liaodunxia#gmail.com> SETLOCAL EnableDelayedExpansion SET WRK_DIR=%1 SET RM_TYPE=%2 SET RM_NAME=%3 IF "%RM_NAME%"=="" GOTO :USAGE IF "%RM_TYPE%" == "-d" ( SET RM_ACTN=RD /S/Q ) ELSE IF "%RM_TYPE%" == "-f" ( SET RM_ACTN=DEL ) ELSE ( GOTO :USAGE ) FOR /R %WRK_DIR% %%R IN (.) DO ( SET RM_PATH=%%R rem drop the last dot. SET RM_PATH=!RM_PATH:~0,-1! IF %RM_TYPE% == -d ( FOR /F "usebackq delims==" %%D IN (`dir /a:d/b %%R`) DO ( IF "%%D" == "%RM_NAME%" ( ECHO %RM_ACTN% "!RM_PATH!%%D" %RM_ACTN% "!RM_PATH!%%D" ) ) ) ELSE IF %RM_TYPE% == -f ( FOR /F "usebackq delims==" %%F IN (`dir /a:-d/b %%R`) DO ( IF "%%F" == "%RM_NAME%" ( ECHO %RM_ACTN% "!RM_PATH!%%F" %RM_ACTN% "!RM_PATH!%%F" ) ) ) ) EXIT /B 0 :USAGE ECHO Recursive remove directory or file. ECHO rr path {-d directory ^| -f filename} ECHO. ECHO path Specifies the search path. ECHO -d directory Remove directory. ECHO -f filename Remove file.

我用GD32F303CCT6芯片,作为MCU。然后我通过串口3(DMA传输)PB10(TX)\PB11(RX)\PB12(DE),连接逆变器,接受逆变器协议,我的MCU作为主栈,是用隔离485。然后我通过串口1(DMA传输)PA9(TX)\PA10(RX)\PA8(DE)连接显示屏,显示逆变器传输过来的数据,是用非隔离485,显示屏轮巡读取MODBUS03功能码。所以我们接收到逆变器的协议数据,要存储到MODBUS寄存器里面,方便显示屏读取。以下是逆变器协议 通信协议内容 A. 概述: 本文档是专门阐述关于高智能型UPS的RS485接口通信的。 协议中提供了以下内容: 计算机能够通过一个以回车符<cr>结束的查询指令掌握信息的交流。 UPS则会返回以回车符<cr>结束的相应信息或者执行有关动作。 B. 硬件规范 波特率 ............... : 9600 bps 数据长度 .......... : 8 bits 停止位 ..................... : 1 bit 奇偶校验 .................: 无 通信电缆引脚: 计算机 UPS =================================== A <---------- A B ----------> B C 、通信协议 1 、状态查询: 计算机指令:Q1<cr> UPS返回值 : UPS 状态数据流,例如 (MMM.M NNN.N PPP.P QQQ RR.R S.SS TT.T b7b6b5b4b3b2b1b0 UPS 状态数据流: 为了区分各种不同参量的数据,在每段数值之间都有一个空格符。以下是每段数值的具体含义: a. 启始字节:( b. 输入电压值:MMM.M M是0~9的整数。 单位是伏特。 c. I/P故障电压 :NNN 。N N是0到9的整数 。 单位为伏特 。 ** 用于离线UPS** 其目的是识别短时电压故障 这导致离线UPS进入Invter模式 。如果发生这种情况 在故障发生之前 ,输入电压在查询时将显示正常 在下次查询时仍将显示正常 。 I/P故障电压将保持故障电压直到下一次 查询 。查询后 ,I/P故障电压将与I/P相同 电压 ,直到下一个故障发生 。 **用于在线UPS** 其目的是识别短期公用事业故障 这导致在线UPS进入电池模式 。如果发生这种情况 输入电压在故障前查询时将显示正常 在下次查询时仍将显示正常 。 I/P故障电压将保持公用设施故障电压 ,直到 下一个查询 。查询后 ,I/P电压将与I/P相同 电压 ,直到下一次公用事业故障发生 。 d. 输出电压值:PPP.P P是0~9的整数。 单位是伏特。 e. 输出负载百分比值:QQQ QQQ是相对于最大电流值的一个百分比,而不是一个绝对的数值。 f. 输入频率:RR.R R是0~9的整数。 单位是赫兹。 g. 电池电压 : SS.S or S.SS S是0~9的整数。 对于在线式UPS,使用的是电池单体电压格式S.SS; 对于离线式UPS,使用的是电池整体电压格式SS.S;具体使用何种方式由UPS的类型决定。 h. 温度 : TT.T T是0~9的整数。 单位是摄氏度。 i. UPS状态 :<U> <U> 是一个包含二进制信息的字节,例如<b7b6b5b4b3b2b1b0>. 这里bn 是一个ASCII码字符 ‘0 ’ 或 ‘1 ’。 . UPS 状态列表: Bit Logic 1 Logic 0 7 市电失败 (即时) 市电OK 6 电池低 电池OK 5 AVR 正常 4 UPS故障 非UPS故障 3 UPS类型是离线式 UPS类型是在线式 2 自检模式 非自检模式 1 Shutdown 信号发出 未Shutdown 信号发出 0 蜂鸣器打开 蜂鸣器关闭 j. 停止字节 :回车符<cr> 例子: 计算机指令: Q1<cr> UPS返回值: (208.4 140.0 208.4 034 59.9 2.05 35.0 00100001 <cr> 含义 : 输入电压为 208.4V. I/P fault voltage is 140.0V. 输出电压为 208.4V. 输出电流(负载)为 34 %. 输入频率为 59.9 HZ. 电池单体电压为 2.05V. 温度为 35.0 摄氏度 市电OK , 电池OK ,AVR , 非UPS故障。 2.逆变器远程开关机设定计算机: 1) SO<cr> (是字母 O) 如果逆变器接收指令并开机,UPS 将回答: “ ACK ” 2) SF<cr> 如果逆变器接收指令并关机,UPS 将回答: “ ACK ” 3) 否则 UPS 将回答: “ NAK ” 3. UPS额定信息: 计算机指令: F<cr> UPS返回值: #MMM.M QQQ SS.SS RR.R<cr> 此功能将会让UPS返回UPS的额定信息。 在每段内容之间用空格分开。 UPS的回复内容中包含以下内容: a. 额定电压:MMM.M b. 额定电流:QQQ c. 额定电池电压:SS.SS or SSS.S d. 频率:RR.R
12-16
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值