项目文件(gif另存为zip):
http://hi.csdn.net/attachment/201107/25/0_131159522822z4.gif
:: 关闭提示 @echo off :: 截取字符串(从0开始的5个字符) set fullstring=hello,world set substr=%var:~0,5% echo %substr% :: 算数运算 set a=1 set b=2 set /a c=%a% + %b% echo %c% :: 提示输入语句 set /p var="设置var变量的值=" :: 判断语句 (字符串相等判断) if "x%var%x" == "xx" ( echo var is empty. :: 跳转语句 goto :lable_var_is_empty ) else ( echo var is NOT empty. ) :lable_var_is_empty :: 判断语句 - 扩展的 if /i not "abc" lss "ABC" ( echo abc is NOT less than ABC ) else ( echo abc is less than ABC ? ) :: 判断语句 - 文件(夹)是否存在 if exist config.ini ( echo config.ini is present. ) else ( echo config.ini is lost. ) :: 判断语句 - 检查最后执行命令的结果 echo this command will set errorlevel to zero. if not errorlevel 0 ( echo errorlevel is %errorlevel% ) else ( echo errorlevel is %errorlevel% ) :: for 循环语句 - 打印文件(夹)列表 for %%i in (*) do ( echo %%i ) :: for 循环语句 - 递归搜索"路径G:"中的所有pdf文件 for /r g: %%i in (*.pdf) do ( echo %%i ) :: for 循环语句 - 读取文本文件中每一行记录 for /f %%i in (config.ini) do ( echo %%i ) :: for 循环语句 - 变量递增 for /L %%i in (0,1,10) do ( echo %%i ) :: for 循环语句 - 变量递减 for /L %%i in (100,-1,90) do ( echo %%i ) :: for 循环语句 - 解析字符串,提取第二个字符串 for /f "tokens=2 delims=," %%i in ("hello,kitty,hello,world") do ( echo %%i ) :: for 循环语句 - 执行命令的结果作为集合 for /f "delims==" %%i in ('set') do ( echo %%i ) :: 结束标签 :lable_end_of_program :: 调试暂停 pause :: 打开提示 @echo on
2011-9-13更新一个片段
:: for 循环语句 - 获取当期时间戳(注意:需要管理员权限) for /f "skip=1 delims=." %%i in ('wmic os get LocalDateTime') do ( set raw_string=%%i ) :: 提取 年 月 日 时 分 秒 set year=%raw_string:~0,4% set month=%raw_string:~4,2% set day=%raw_string:~6,2% set hour=%raw_string:~8,2% set minute=%raw_string:~10,2% set second=%raw_string:~12,2% :: 测试结果 echo %year%-%month%-%day% %hour%:%minute%:%second%
2011-9-28 更新一个片段
:: 更改当前目录到脚本所在位置 cd %~dp0
2011-11-1 更新一个片段
:: WinSCP 命令行复制文件到远程机器(winsshd, sshd) set scp=H:\workspace\winscp435\WinSCP.com set netuser=foo set netpass=bar set netip=10.0.0.1 set netport=2222 if exist "%scp%" ( %scp% /command^ "open %netuser%:%netpass%@%netip%:%netport%"^ "put a.txt /D/remote_dir/"^ "close"^ "exit" ) else ( echo Error, No Such File: %scp%. )
2011-11-3 更新片段
:: forfiles 遍历目录执行命令,类似linux下的find -exec echo '{}' \; forfiles /p ".\test"^ /d +2011-11-03^ /c "cmd /c echo Deleting @file && del /f /s @path"
2011-11-5 更新片段
:: 添加网络打印机 net use \\172.16.73.110\ipc$ tiger /user:administrator rundll32 printui.dll,PrintUIEntry /in /n \\172.16.73.110\HPLaserJ /q /y
愚蠢的xcopy /t用法
rem 连同文件夹结构一起复制文件的命令 rem linux一个cp -rf 搞定 rem windows下那个叫别扭啊 xcopy /Y /e /s src dest rem 一定要确保dest已经创建哦
使用forfiles(win server 2003 支持)执行命令的时候要注意 执行路径
forfiles /s /m include /c "%comspec% /c echo %cd% && xcopy /Y /e /s . %cd%\include"
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN] @="Delete SVN Folders" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command] @="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""
白领定时休息脚本(复制下来另存为一个timer.vbs的文件,双击会自动调用wscipt.exe运行), 每隔30分钟提醒一次, 点"确定"会继续提醒,"取消"会关闭定时器.
while true ret=msgbox("working for 30 minutes, have some water, now", 1) if ret <> 1 then wscript.quit end if WScript.Sleep 30*60*1000 wend
生成java网页工作环境
::@ECHO OFF @cd /d %~dp0 @set WEBDEVROOT=%CD% @for /d %%T IN (JDK*) DO @SET JAVA_HOME=%CD%\%%T @set CATALINA_HOME=%WEBDEVROOT%\apache-tomcat-7.0.27 @set M2_HOME=%WEBDEVROOT%\apache-maven-3.0.4 @set MAVEN_OPTS=-Xms64m -Xmx256m @set path=%APPENGINE_HOME%;%JAVA_HOME%\bin;%CATALINA_HOME%\bin;%M2_HOME%\bin;%PATH% @ECHO ##################################################### @ECHO #WELCOME TO USE JAVA WEB DEV ENVIRONMENT# @ECHO ##################################################### @ECHO WEBDEVROOT --^> %WEBDEVROOT% @ECHO JAVA_HOME --^> %JAVA_HOME% @ECHO CATALINA_HOME --^> %WEBDEVROOT%\apache-tomcat-7.0.27 @ECHO M2_HOME --^> %WEBDEVROOT%\apache-maven-3.0.4 @ECHO ##################################################### @%comspec% @ECHO ON