多语言展示
当前在线:953今日阅读:91今日分享:37

程序员用dos只需要输入一个命令,开始一天工作

背景:使用电脑工作每天要打开很多软件需求:通过命令可以打开指定的软件或批量打开工作软件解决方法:用bat交互式脚本打开相应的软件
工具/原料
1

dos

2

bat

方法/步骤
1

执行help命令查看有哪些帮助>input:help

2

执行命令ff(打开firefox)>input:ff   >input:jsq  #打开计算器

3

打开配置错误的应用>input:word>kill 命令

4

注意:1)提示系统找不到指定的路径。 可能是没有写run1pm.log的权限2)如果没有自定义的标签,系统会提示 “系统找不到指定的批处理标签 '

5

全部源码:```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

1)请修改为自己的应用路径

2

2)可以扩展自己的dos命令

推荐信息