start *.exe

开机后有许多常用软件需要启动,手动一样一样的点很费劲,便编写了一个批处理文件将这些软件一次性全部启动,但一些软件更新后发现要同时启动的软件使用批处理启动时需要等待.exe文件进程结束后才能继续执行随后的命令,解决办法:

使用start命令,如start *.exe即可运行exe文件后继续执行后续命令,不用等待exe文件结束。

### 代码功能分析 这段批处理代码主要完成了三个任务: 1. **文件删除**:使用 `del` 命令删除两个指定目录下的所有文件。具体为 `%ALLUSERSPROFILE%\Application Data\licensecb` 和 `%USERPROFILE%\Local Settings\Application Data\licensecb` 目录,`/q` 参数表示安静模式,删除时不提示确认信息 [^3]。 2. **注册表删除**:使用 `reg delete` 命令删除注册表中 `HKEY_CURRENT_USER\Software\licensecb` 项。 3. **程序启动**:使用 `start` 命令启动 `CrazyBump.exe` 程序。 ### 代码优化建议 1. **兼容性问题**:在现代 Windows 系统中,`%ALLUSERSPROFILE%\Application Data` 通常对应 `C:\ProgramData`,`%USERPROFILE%\Local Settings\Application Data` 对应 `%USERPROFILE%\AppData\Local`,可使用更标准的环境变量替换。 2. **错误处理**:原代码没有对可能出现的错误进行处理,可添加错误检查和提示信息。 3. **目录存在性检查**:在删除文件前,先检查目录是否存在,避免不必要的错误提示。 ### 优化后的代码 ```batch @echo off rem 检查并删除第一个目录下的文件 set "dir1=%ProgramData%\licensecb" if exist "%dir1%" ( del "%dir1%\*.*" /q if errorlevel 1 ( echo 删除 %dir1% 下的文件时出现错误! ) ) rem 检查并删除第二个目录下的文件 set "dir2=%USERPROFILE%\AppData\Local\licensecb" if exist "%dir2%" ( del "%dir2%\*.*" /q if errorlevel 1 ( echo 删除 %dir2% 下的文件时出现错误! ) ) rem 删除注册表项 reg delete HKEY_CURRENT_USER\Software\licensecb /f if errorlevel 1 ( echo 删除注册表项 HKEY_CURRENT_USER\Software\licensecb 时出现错误! ) rem 启动程序 start "" "CrazyBump.exe" if errorlevel 1 ( echo 启动 CrazyBump.exe 时出现错误! ) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值