Table of Contents

<markdown>

remote login

mstsc /v:192.168.31.33 /f
exit

查看某一端口是否开着

netstat -ano | findStr 8080

netstat -a  查看开启哪些端口 
netstat -n  查看端口的网络连接情况 
netstat -v  查看正在进行的工作 
netstat -p  tcp/ip查看某协议使用情况 
netstat -s  查看正在使用的所有协议使用情况
netstat -ao 能显示出pid

设置环境变量

setx JAVA_HOME C:/soft/jdk1.8.0_121


set regPath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
REG ADD "%regPath%" /v JAVA_HOME /d D:\soft\Java /f
REG ADD "%regPath%" /v ANT_HOME /d D:\soft\apache-ant-1.7.0 /f
REG ADD "%regPath%" /v UNIX_HOME /d D:\soft\UnxUtils\usr\local\wbin /f

启动自动化程序

@ECHO off
FOR /f "tokens=1,2,10,11 delims= " %%l IN ('tasklist /v') DO (
    ECHO "%%l - %%m - %%n - %%o"
	IF "%%l" == "java.exe" taskkill /f /PID %%m
	IF "%%l" == "MEmuConsole.exe" taskkill /f /PID %%m
	IF "%%l" == "MEmu.exe" taskkill /f /PID %%m	
)

CD /D %~dp0
SET currentPath=%~dp0
java -jar %currentPath%auto-kbzy.jar

关闭逍遥模拟器

@ECHO off
FOR /f "tokens=1,2,10,11 delims= " %%l IN ('tasklist /v') DO (
    ECHO "%%l - %%m - %%n - %%o"
	IF "%%l" == "MEmuConsole.exe" taskkill /f /PID %%m
	IF "%%l" == "MEmu.exe" taskkill /f /PID %%m	
)
EXIT

关闭TeamViewer

@ECHO off
FOR /f "tokens=1,2,10,11 delims= " %%l IN ('tasklist /v') DO (
    ECHO "%%l - %%m - %%n - %%o"
	IF "%%l" == "TeamViewer.exe" taskkill /f /PID %%m
)

关闭nginx

@ECHO off
FOR /f "tokens=1,2,10,11 delims= " %%l IN ('tasklist /v') DO (
    ECHO "%%l - %%m - %%n - %%o"
 IF "%%l" == "nginx.exe" taskkill /f /PID %%m
)

windows下开启nginx

cd /d C:\soft\nginx-1.17.9
nginx.exe

</markdown>

Find Content

FindContent.bat
find "java.lang.NoClassDefFoundError" server.log* >D:\result.txt

Delete Folder

DeleteFolder.bat
@ECHO off
 
CD /D %~dp0
SET currentPath=%~dp0
SET logFile=%currentPath%deletedFolder.log
SET listFile=%currentPath%folderList.txt
 
IF EXIST %logFile% DEL %logFile%
IF EXIST %listFile% DEL %listFile%
 
DIR /A:D /B>>%listFile%
FOR /F "tokens=1,2,3,4* delims=," %%A IN (%listFile%) DO (
  ECHO Deleting %currentPath%%%A>>%logFile%
  RMDIR /S /Q %currentPath%%%A
)
IF EXIST %listFile% DEL %listFile%

Remote Login

RemoteLogin.bat
start mstsc /v:192.168.1.2
mstsc /v: $ServerIP$
mstsc /v: $ServerIP$ /admin
mstsc /v: $ServerIP$ /console

Schedule Task

At.bat
at 00:30 /every:m,t,w,th,f,s,su cmd.exe
at 23:00 /every:f D:\svn\weeklyUpdate.bat
at 22:00 /every:30 D:\scm\tools\CCGen.bat
 
at 18:40 /every:m,t,w,th,f shutdown -s -f
 
at               rem 可以直接用于查看 有哪些任务
at 10 /delete    rem 直接删除 对应定时任务
 
 
[对于webdriver的自动化程序一直抛错:Location: out any screen]
at 09:30 /every:m,t,w,th,f,s,su D:/git/scripts/tool/refund-monitor.bat
at 12:00 /every:m,t,w,th,f,s,su D:/git/scripts/tool/refund-monitor.bat
at 18:00 /every:m,t,w,th,f,s,su D:/git/scripts/tool/refund-monitor.bat
 
改成schtasks就不会抛错。 [看语法很简单比如查 如何创建: schtasks /create /? 系统就会列出详细的文档]
如何创建
schtasks /create /sc daily /st 01:00 /tn "refund0100" /tr D:/git/scripts/tool/refund-monitor.bat
schtasks /create /sc daily /st 07:00 /tn "refund0700" /tr D:/git/scripts/tool/refund-monitor.bat
schtasks /create /sc daily /st 08:30 /tn "refund0830" /tr D:/git/scripts/tool/refund-monitor.bat
schtasks /create /sc daily /st 09:10 /tn "refund0910" /tr D:/git/scripts/tool/refund-monitor.bat
schtasks /create /sc daily /st 12:00 /tn "refund1200" /tr D:/git/scripts/tool/refund-monitor.bat
schtasks /create /sc daily /st 18:00 /tn "refund1800" /tr D:/git/scripts/tool/refund-monitor.bat
schtasks /create /sc daily /st 23:55 /tn "refund2355" /tr D:/git/scripts/tool/refund-monitor.bat
 
schtasks /create /sc daily /st 21:40 /tn "refund2140" /tr D:/git/scripts/tool/refund-monitor.bat
 
如何删除
schtasks /delete /tn "refund0910"
schtasks /create /sc daily /st 00:05 /tn "start0005" /tr C:/git/start-kbzy.bat

Get Information

SystemInfo.bat
@echo off
for /F "tokens=1,2,3 delims==" %%A in (serverlist.txt) do (
  sc \\%%A start rcmdsvc
  rcmd \\%%A systeminfo >SystemInfo_%%A.log
)
 
rem Please make sure every sever has been installed and started with a service: rcmdsvc
rem You need to add client: rcmd.exe
rem Please download: rcmd.exe and rcmdsvc.exe from network.

String Operation

@echo off
SET str=123456789
echo first 1 word: %str:~0,1%
echo first 4 words: %str:~0,4%
echo string excluding last 1 word: %str:~0,-1%
echo string excluding last 3 words: %str:~0,-3%
echo The fourth word in string: %str:~3,1%
echo The fourth word and other 3 word after the  fourth: %str:~3,4%
echo The last 1 word: %str:~-1%
echo The last 1 word: %str:~-1,1%
echo The last 1 word: %str:~-1,2%
echo 倒数第4个字符为:%str:~-4,1%
echo 倒数第4个及其之后的字符为:%str:~-4%
echo 倒数第4个及其之后的1个字符为:%str:~-4,2%
echo 倒数第4个及其之后的2个字符为:%str:~-4,3%

Add Login Account

AddLoginAccount.bat
net localgroup Administrators domain\accountname /add
net localgroup Administrators
net localgroup Administrators domain\accountname /delete

Remote Restart

RemoteRestart.bat
use Rcmd to login remote DOS System firstly. Then type:
shutdown -r -m \\$ServerIP$ -t 1

List All Files

ListAllFiles.bat
dir /A:A /B>>D:\list.txt
 
DIR /A:- /B>>D:\svn2\wiki2013\src\main\webapp\WEB-INF\lib\jarList.txt

SVN Update

SVNUpdate.bat
@ECHO off
 
CD /D %~dp0
SET currentPath=%~dp0
SET currentDate=%date:~0,4%-%date:~5,2%-%date:~8,2%
SET logFile=%currentPath%svnUpdate-%currentDate%.log
SET listFile=%currentPath%repositoryList.txt
 
IF EXIST %logFile% DEL %logFile%
IF EXIST %listFile% DEL %listFile%
DIR /A:D /B>>%listFile%
FOR /F "tokens=1,2,3,4* delims=," %%A IN (%listFile%) DO (
 
  ECHO #### [%%A] Updating Started #####>>%logFile%
  svn cleanup %currentPath%%%A>>%logFile%
  svn update %currentPath%%%A>>%logFile%
  ECHO #### [%%A] Updating Finished ####>>%logFile%
)
IF EXIST %listFile% DEL %listFile%
ECHO #### Finish All ####

Shutdown Server

ShutdownServer.bat
@echo off
 
for /F "tokens=1,2,3 delims==" %%A in (serverlist.txt) do (
  shutdown /m \\%%A /s /f /c "power off"
)

Date Time

DateTime.bat
REM Create sub directory called \yymmdd_hhmmss
REM where yymmdd_hhmmss is a date_time stamp like 030902_134200
 
set hh=%time:~0,2%
 
REM Since there is no leading zero for times before 10 am, have to put in
REM a zero when this is run before 10 am.
 
if "%time:~0,1%"==" " set hh=0%hh:~1,1~1,1%
set yymmdd_hhmmss=%date:~4,4%%date:~9,2%%date:~12,2%-%hh%%time:~3,2%%time:~6,2%
md D:\%yymmdd_hhmmss%

Run SQL

RunSQL.bat
@ECHO off
IF "%1"=="" (
  SET /p dbServer=Please input DB Server:
) ELSE (
  SET dbServer=%1
)
 
IF "%2"=="" (
  SET /p dbUser=Please input DB User:
) ELSE (
  SET dbUser=%2
)
 
IF "%3"=="" (
  SET /p dbPassword=Please input DB Password:
) ELSE (
  SET dbPassword=%3
)
 
IF "%4"=="" (
  SET /p dbName=Please input DB name:
) ELSE (
  SET dbName=%4
)
 
CD /D %~dp0
SET currentPath=%~dp0
SET sqlPath=%currentPath%sql\
SET logPath=%currentPath%log\
SET logFile=%currentPath%db.log
SET listFile=%currentPath%sqlList.txt
 
IF EXIST %listFile% DEL %listFile%
CD /D %sqlPath%
DIR /A:A /B>>%listFile%
 
CD /D %currentPath%
 
IF EXIST %logFile% ECHO Y | DEL %logFile% /P /S
IF EXIST %logPath% RMDIR %logPath% /Q /S
MKDIR %logPath%
 
FOR /F "tokens=1,2,3,4* delims=," %%A IN (%listFile%) DO (
  osql -U %dbUser% -P %dbPassword% -n -o %logPath%%%A-%dbName%.log -S %dbServer% -d %dbName% -i %sqlPath%%%A
  IF EXIST %logPath%%%A-%dbName%.log (
    FOR /f "tokens=1-3 delims==" %%M in (%logPath%%%A-%dbName%.log) do echo %%M>>%logFile%
  )
)
IF EXIST %listFile% ECHO Y | DEL %listFile% /P /S