无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 6180|回复: 4

[已解决] 按下CTRL+ALT+F12键执行下一条命令的批处理命令该咋写?

[复制链接]
发表于 2018-7-9 17:17:36 | 显示全部楼层 |阅读模式
本帖最后由 有阴也有阳 于 2018-7-11 10:05 编辑


        不用pause,因为你一不小心按下或碰下任意键就会执行下一条命令,下一条命令是一个删除软件的命令,我要等把它用完

了再按下CTRL+ALT+F12键来执行删除命令来删除它。

       已解决:

        我的G4D的启动U盘中有不少系统及PE的ISO文件,都有通过grub4dos0.4.6a、XorBoot Uefi 0.24等整体启动的功能项,但假如ISO文件的碎片太多了的话,

就整体启动不了,就需要用WContig来整理文件的碎片,因此WContig软件难免就会时不时地用到,但WContig软件放在启动U盘中不适合对启动U盘中的文件做

碎片整理,就如同Diskgeniu-s放在启动U盘中就不适合再对启动U盘做任何磁盘操作一样。

        为解决这个问题,我决定让放在启动U盘里面的WContig软件复制到启动U盘以外的分区——桌面来运行,用批处理来实现:

        1.复制WContig软件到桌面。

        2.打开、运行WContig软件——如果是32位系统就运行桌面的WContig软件的WContig.exe程序;假如是64位系统就运行桌面的WContig软件的WContig64.exe

程序。

        3.用WContig软件整理完文件碎片后,先退出、关闭WContig软件,然后再按下任意键删除复制到桌面的WContig软件。

        一:启动U盘里的目录结构:

        

1

1


        二:批处理:

@echo off
xcopy %~dp0\WContig\*.* %USERPROFILE%\desktop\WContig\ /s /e
echo;
echo;    注意!!!用完“WContig”软件后请先退出、关闭“WContig”软件,然后再按下任
echo;
echo;意键删除复制到桌面的“WContig”文件夹及里面的全部文件,选择“Y”确认删除,选择
echo;
echo;“N”放弃删除,不删除。
echo;
@if not exist "%programw6432%" (start %USERPROFILE%\desktop\WContig\WinContig.exe) else start %USERPROFILE%\desktop\WContig\WinContig64.exe
pause
rd /s "%USERPROFILE%"\desktop\WContig

        三:运行效果:

        1.双击运行“运行WContig.bat”:

        

3

3


        

2

2


        2.整理完文件碎片后删除复制到桌面的WContig软件:

        a.先关闭WContig软件,然后再按下任意键:

        

4

4


        b.按下“Y”键,选择删除,因为搜狗拼音是默认输入法,所以显出的是汉字,不是英文字母“Y”:

        

5

5


        c.按下“Shift”键,显出英文字母“Y”:

        

6

6


        d.按下回车键确认,复制到桌面WContig软件被删除:

        

7

7



        后来在实际使用中发现了一个问题:

        用start命令来运行WinContig.exe会多打开一个无用的CMD窗口,用start命令来运行WinContig64.exe则完全正常,后来试着用call命令来运行WinContig.exe,就完全正

常了,不再多打开一个无用的CMD窗口,又试了一下,用call命令来运行WinContig64.exe也完全正常,和用start完全一样,所以就把原来的bat改为:

@echo off
xcopy %~dp0\WContig\*.* %USERPROFILE%\desktop\WContig\ /s /e
echo;
echo;    注意!!!用完“WContig”软件后请先退出、关闭“WContig”软件,然后再按下任
echo;
echo;意键删除复制到桌面的“WContig”文件夹及里面的全部文件,选择“Y”确认删除,选择
echo;
echo;“N”放弃删除,不删除。
echo;
@if not exist "%programw6432%" (call %USERPROFILE%\desktop\WContig\WinContig.exe) else call %USERPROFILE%\desktop\WContig\WinContig64.exe
pause
rd /s "%USERPROFILE%"\desktop\WContig

        注意:此批处理只能在NT6的系统中运行,在Win XP/2003之类的NT5的系统中无法正常运行——系统的目录结构不同,所以只能手动复制到桌面,然后点击WinContig.exe,

或WinContig64.exe来运行。

        附:用start命令来运行WinContig.exe的效果图:

8

8




点评

这代码完成的太累了,设个热键,几行ahk代码瞬间完成同样的事。性价比太糟糕~~  发表于 2018-7-9 19:32
发表于 2018-7-9 17:51:18 来自手机 | 显示全部楼层
这太复杂了吧?不用第三方工具不知道怎么判断

可以考虑
set /p ok=按Y继续
if /I not "%ok%"=="y" echo ...&pause&exit

我觉得你可以改变思路,判断软件执行后的变化,如果变化了自动删除

点评

谢谢!!!  详情 回复 发表于 2018-7-9 19:39
回复

使用道具 举报

 楼主| 发表于 2018-7-9 19:39:37 | 显示全部楼层
nttwqz 发表于 2018-7-9 17:51
这太复杂了吧?不用第三方工具不知道怎么判断

可以考虑

谢谢!!!
回复

使用道具 举报

 楼主| 发表于 2018-7-11 10:06:33 | 显示全部楼层
内容有重要更新。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-19 09:17

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表