无忧启动论坛

标题: 按下CTRL+ALT+F12键执行下一条命令的批处理命令该咋写? [打印本页]

作者: 有阴也有阳    时间: 2018-7-9 17:17
标题: 按下CTRL+ALT+F12键执行下一条命令的批处理命令该咋写?
本帖最后由 有阴也有阳 于 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盘里的目录结构:

        

        二:批处理:

@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”:

        

        

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

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

        

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

        

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

        

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

        


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

        用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的效果图:






作者: nttwqz    时间: 2018-7-9 17:51
这太复杂了吧?不用第三方工具不知道怎么判断

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

我觉得你可以改变思路,判断软件执行后的变化,如果变化了自动删除
作者: 有阴也有阳    时间: 2018-7-9 19:39
nttwqz 发表于 2018-7-9 17:51
这太复杂了吧?不用第三方工具不知道怎么判断

可以考虑

谢谢!!!
作者: 有阴也有阳    时间: 2018-7-11 10:06
内容有重要更新。




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3