dos
bat
执行help命令查看有哪些帮助>input:help
执行命令ff(打开firefox)>input:ff >input:jsq #打开计算器
打开配置错误的应用>input:word>kill 命令
注意:1)提示系统找不到指定的路径。 可能是没有写run1pm.log的权限2)如果没有自定义的标签,系统会提示 “系统找不到指定的批处理标签 '
全部源码:```dos@echo offrem ======================================================rem run inforem ======================================================rem get varrem set /p varvolume=请输入volumrem help:echoinfo(echo ===========================================================echo 从这里开启程序入口:2011年8月26日echo 1pm self auto tool echo type help for help;q for exitecho #1 1pmtc u盘本地化,避免反复的读写u盘 /ulocalecho orecho 1pm 直接在u盘操作 /u echo #2 p 加载分区 /desk/pc/selfecho ######good luck!######echo ==========================================================)rem 标记退出set flag=0rem app路径set appsoftDir='D:\appSoft'set greensoftDir='D:\greenSoft'rem >>后面不能使用变量 (?)rem 下面的会到处生成日志rem set curDir=%%~dp0%run1pm.logset curDir='%USERPROFILE%\Desktop\1pmEn\run1pm.log':winputset /p var=Input:rem (rem call echo # %date:~0,4%%date:~5,2%%date:~8,2% %time% %%var%% >>a.logrem 下面的行不通rem call echo # %date:~0,4%%date:~5,2%%date:~8,2% %time% %%var%% >>%curDir%rem call echo %%var%%rem )>>call %curDir%rem 必须用全局的变量call echo # %date:~0,4%%date:~5,2%%date:~8,2% %time% %%var%% >>'%USERPROFILE%\Desktop\1pmEn\run1pm.log'rem ======================================================rem 命令REM :STR_VISTOR REM 看看每次循环后的值,便于理解 REM echo str = %str% REM FOR语句是按行进行遍历,也就是一行一次循环,对于我们来说,只有一行字符串, REM 这个FOR循环肯定只进入一次。而我们是要对字符串进行空格分割后再处理。因此这 REM 里用GOTO语句来实现循环。而FOR语句只需看成是一条语句,这条语句实现了这样的 REM 功能:将字符串分割成两一部分,一部分是第一个空格前的字串,另一部分是剩余的 REM 字串(tokens=1,*)。第一部分保存在 a 变量中,第二部分保存在 b 变量中,这 REM 个 b 是自动的。 REM 类似gloabl phpsetlocal enabledelayedexpansionset doscmds=nullset tempcmd='%var%'for /f 'tokens=1,*' %%a in (%tempcmd%) do ( REM 这里可以替换成自己的处理程序,现在只是简单地显示值 REM echo a = %%a set doscmds=%%a REM 将剩余字符串赋值给str变量 set tempcmd='%%b' REM echo b=%%b REM goto STR_VISTOR ) if not %tempcmd%=='' (if '%doscmds%'=='mv' goto cmdmvrem 修改名if '%doscmds%'=='mvname' goto cmdmvname)rem ======================================================rem ifdafif '%var%'=='q' goto exitthisif '%var%'=='help' goto gethelpset golabel=get%var%if 1==1 goto %golabel%goto exitthisrem ====================================rem goto blockrem ====================================:getdelshare(net share c$ /delnet share d$ /delnet share e$ /delnet share f$ /delnet share admin$ /delnet stop servergoto winput):getgvim(start %greensoftDir%\vim73\gvim.exe goto winput):getcmd( start cmd.exegoto winput):gethost(start %greensoftDir%\vim73\gvim.exe c:\WINDOWS\system32\drivers\etc\hostsgoto winput):getkillrem 如果用括号括起来,在一对()里面,这就叫“复合语句” 会出现变量延迟的情况。set /p pidvar=要结束的进程名或PID:taskkill /f /im %pidvar% || taskkill /f /pid %pidvar%pausegoto winput:getdtempecho 正在清理系统垃圾文件,请稍等......del /f /s /q '%userprofile%\\Local Settings\\Temporary Internet Files\\*.*'del /f /s /q '%userprofile%\\Local Settings\\Temp\\*.*'del /f /s /q '%userprofile%\\recent\\*.*'echo 清理系统垃圾完成!pausegoto winputrem --------------------------------------------------rem --------------------------------------------------rem appsoft hererem %greensoftDir%\NPMserv\NPMserv.exe:getnpm(cd %greensoftDir%\NPMservD:start NPMserv.exegoto winput)rem app:getdw(start '' '%greensoftDir%\Dreamweaver 8\Dreamweaver.exe'goto winput):getea(start %appsoftDir%\EA\EA.exegoto winput):getep(start '' 'C:\Program Files\EditPlus 3\EditPlus.exe'goto winput):geteve(start '' 'C:\Program Files\Everything\Everything.exe'goto winput):getec(start %appsoftDir%\EasyEclipsePHP\eclipse.exegoto winput):getff(start '' 'C:\Program Files\Mozilla Firefox\firefox.exe'goto winput):getjsq(start %SystemRoot%\system32\calc.exegoto winput):getop(start '' 'C:\Program Files\Opera\opera.exe'goto winput):getpd(start %appsoftDir%\pd153\pdshell15.exegoto winput):getps(start %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell_ise.exegoto winput):getqq(start %appsoftDir%\qq2011\Bin\QQ.exegoto winput):getmysql(start '' 'C:\Documents and Settings\Administrator\Desktop\1pmEn\workBegin\Navicat_for_MySQL9\navicat.exe'goto winput):getmssql(start SQLServerManager10.mscstart Ssms.exegoto winput):getvbox(start '' '%greensoftDir%\Virtualbox\VirtualBox.exe'goto winput):getvmp(start '' '%appsoftDir%\VM7\vmplayer.exe'goto winput):getvm(start %appsoftDir%\VM7\vmware.exegoto winput):getword(rem 空格带引号的 必须前有有空双引号,如果没有空格可直接start 或直接写路径,start '' 'C:\Program Files\Microsoft Office\OFFICE11\WINWORD.EXE'goto winput):getwz(rem wizstart '' '%appsoftDir%\Wiz\WizExplorer.exe'goto winput):getwork(start '' '%greensoftDir%\!)work.bat'goto winput):getclient(start '' '%USERPROFILE%\Desktop\1pmEn\'goto winput):getself(rem 当前路径rem call echo cur:%%~dp0%rem echo '%%~dp0%'start '' '%~dp0'pausegoto winput):getdesk(start '' '%USERPROFILE%\Desktop'goto winput):getpc(start shell:DriveFoldergoto winput):getdiff(start '' 'C:\Program Files\WinMerge\WinMergeU.exe'goto winput):getftp(start '' '%greensoftDir%\FileZilla-3.5.3\filezilla.exe'goto winput)rem ---------------------------------------------------rem ---------------------------------------------------rem ---------------------------------------------------rem ---------------------------------------------------rem ---------------------------------------------------rem ---------------------------------------------------rem ---------------------------------------------------rem ---------------------------------------------------rem ---------------------------------------------------rem ---------------------------------------------------rem ---------------------------------------------------rem ---------------------------------------------------rem ---------------------------------------------------rem ---------------------------------------------------rem ---------------------------------------------------rem ---------------------------------------------------rem ---------------------------------------------------rem ---------------------------------------------------:gethelp(echo help -- get help informationecho desk -- 打开桌面文件夹echo pc -- 打开我的电脑echo host -- edit win host filesecho gvim -- open gvim edit toolecho delshare -- del default share volumeecho 1pm -- open 1pmEn folder in U diskecho 1pmtc -- open 加载虚拟分区echo u -- open U盘echo ulocal -- open U盘的本地硬盘镜像echo self -- open run1pm's self floderecho client -- open runlpm client is client to 1pmecho q -- exit thisecho cmd -- get cmd path here echo cls --echo dir --echo kill -- kill all the same process by processnameecho dtemp -- del temp file echo +app{echo dw -- open dreawearecho ea -- open EAecho ep -- open Eidtplus3echo eve -- open everthingecho ec -- open eclipse for phpecho ff -- open firefoxecho ftp -- open filezilla.exe ftp_clientecho jsq -- open 计算器echo op -- open opera browerecho pd -- open pd15.3echo ps -- open powershellecho qq -- open qqecho mysql -- open mysql clientecho mssql -- open mssql clientecho npm -- open NPMserv.exeecho vbox -- open virturl machineecho vmp -- open virturl machineecho vm -- open virturl machineecho word -- open office wordecho wz -- open wzecho diff -- open WinMergeecho }echo +cmd{echo mv -- copy path filenameecho }rem goto input echo.echo work -- begin work with open softs !echo ...goto winput):getcls(clsgoto echoinfo):getdir(dirgoto winput)rem ========================================rem ========================================rem ========================================:get1pmtc(start '' '%greensoftDir%\crypt_7z\'goto winput):get1pm(start %appsoftDir%\app\1pmEn\goto winput):getulocal(start W:\upan\goto winput):getu(start H:\U-Disk\goto winput)rem ========================================rem ========================================rem ========================================rem exitrem ========================================:get(goto winput):exitthis(exit)rem 监视不存在的 labelgoto winputrem =======================================================rem ====cmd dosrem =======================================================:cmdmv(rem %tempcmd:~0,-1% 去打最后的“和开始的”copy %tempcmd:~1,-1%pausegoto winput)rem =======================================================@echo onrem mv:move or renamerem (copy xcopy) cp rem del (rm)rem rmdirrem mkdirrem rem RD [/S] [/Q] [drive:]pathrem /S 除目录本身外,还将删除指定目录下的所有子目录和文件。用于删除目录树。rem /Q 安静模式,带 /S 删除目录树时不要求确认rem rem rem ---linuxrem mkdir目录名创建一个目录rem rmdir空目录名删除一个空目录rem rem rem rm文件名文件名删除一个文件或多个文件rem rm -rf非空目录名删除一个非空目录下的一切```
1)请修改为自己的应用路径
2)可以扩展自己的dos命令