BAT的一些技巧记录

来源:互联网 发布:软件定制 猪八戒网 编辑:程序博客网 时间:2024/06/05 05:49

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

BAT延时

 

bat本省不提供延时程序,所以有时候程序需要延时就比较麻烦,可以用下面的方法延时:

a.bat:

cscript //nologo sleep10s.vbs

 

sleep10s.vbs

WScript.Sleep 1000   ' 这里单位是ms

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

tee

 

' usage: dir | cscript //nologo tee.vbs cmd.log

 

set StdIn=WScript.StdIn

set StdOut=WScript.StdOut

set Args=WScript.Arguments

LogFile=Args(0)

 

set fso=CreateObject("Scripting.FileSystemObject")

set LogFile=fso.CreateTextFile(Args(0))

 

Do While Not StdIn.AtEndOfStream

    Str=StdIn.ReadLine

    StdOut.WriteLine str

    LogFile.WriteLine str

Loop

LogFile.Close

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

xcopy

 

xcopy w:/aaa.tar.gz v:/ /H/I/R/Y

if Not %ERRORLEVEL% == 0 (

    echo "something"

    pause

    exit 1 )

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

plink

 

plink -pw password root@160.10.205.100 /opt/Build/AutoBuild.sh

 

c

自宫程序

以前有一个无聊的脚本,需要在启动脚本大约2分钟之后将一个叫做DailyBuild_Test.exe的无聊程序杀掉,才能保证脚本运行之后得到正确的结果,所以有了下面的程序,主要的思路就是利用计划任务来实现程序运行2分钟后杀进程。

 

YES文件,内容就只有一个字符y,用于计划任务的交互程序中输入y。

KEY文件,内容是password<ENTER>,用于计划任务输入密码和回车。

 

exit_DailyTest.bat

set Kill_DailyTest_Timer = 2

schtasks /create /sc minute /mo %Kill_DailyTest_Timer% /tn "exit_DailyTest" /tr "e:/DailyBuild/exit_DailyTest2.bat" < KEY

 

exit_DailyTest2.bat

taskkill /F /IM DailyBuild_Test.exe /T

schtasks /delete /TN "exit_DailyTest" < YES

exit 0

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

for

 

for /f "tokens=1,2 delims= " %%i IN (list.txt) do ss get %%i -v %%j -W -i-y

tokens=1,2表示有两个变量

delims= 表示变量用空格隔开

IN (list.txt)表示从list.txt中读取变量的值

do为执行命令,这里%%i表示文件路径

%%j是版本号,-W可写,-i-y表示yes to all,这些事ss命令的参数

 

 

 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

获取当前时间

set Today=%DATE:~5,2%%DATE:~8,2%

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

VSS命令

SSPATH="C:/Program Files/microsoft virsual studio/vss/win32"

set SSDIR=//SERVICE/DIR

set SSUser=user

set SSPassword=password

' 设置工作目录和本地目录

ss cp $/09.dir/01.dir

ss workfold $/09.dir/01.dir %CD%

ss get 03.dir/ TODAY% -W -i-y -R ' R表示递归文件夹

 

原创粉丝点击