1.if語句java
if語句有三種用法:判斷以前命令的返回值、判斷字符串相等、判斷文件存在。linux
1.1.判斷上條指令的返回值,返回值卯準了,就執行緊跟着的命令,要不就執行else的命令。
web
>echo %errorlevel% >if errorlevel 0 (echo ok) else (echo false) ok >if not errorlevel 0 (echo ok) else (echo false) false
1.2.判斷環境變量與字符串是否相等apache
>if %os%=="win_nt" (echo "win_nt") else (echo %os%) Windows_NT
1.3.判斷文件是否存在windows
>if exist %catalina_base%\conf\server.xml (echo ok) else (echo false) ok >if exist %catalina_base%\conf\servers.xml (echo ok) else (echo false) false
2.settomcat
顯示、設置或刪除「cmd.exe環境變量」。bash
2.1.顯示全部環境變量、顯示以某個字母開頭的變量app
>set …… >set ca CATALINA_BASE=C:\web\webapps CATALINA_HOME=C:\web\apache-tomcat-7.0.75 >set j JAVA_HOME=C:\web\jdk1.8.0_121 JRE_HOME=C:\web\jdk1.8.0_121\jre
要是顯示的變量不存在,「errorlevel」變量置1。
ssh
C:\Users\Administrator>set paol 環境變量 paol 沒有定義 C:\Users\Administrator>echo %errorlevel% 1
2.2.設定變量
webapp
>set OS=Windows_NT
3.call
調用另外一個批處理程序
if not exist "%CATALINA_BASE%\bin\setenv.bat" goto checkSetenvHome call "%CATALINA_BASE%\bin\setenv.bat"
讀取環境變量配置
4.exit
退出「cmd.exe」程序、當前批處理腳本。語法格式「exit /b /exitcode」。
退出腳本「/B」
exit /B
退出腳本,返回0
exit /B 0
看看返回值
>type haha.bat @echo off echo ok exit /B 33 >haha.bat ok >echo %errorlevel% 33
在腳本中,沒有函數,可是能夠經過跳轉執行相似函數的效果(或者經過call調用)。跳轉時會越過某些語句行,例如
>type haha.bat @echo off rem No JRE given, use JAVA_HOME as JRE_HOME set "JRE_HOME=%JAVA_HOME%" :gotJreHome rem Check if we have a usable JRE if not exist "%JRE_HOME%\bin\java.exe" goto noJreHome if not exist "%JRE_HOME%\bin\javaw.exe" goto noJreHome goto okJava :noJreHome rem Needed at least a JRE echo The JRE_HOME environment variable is not defined correctly echo This environment variable is needed to run this program goto exit :okJava rem Don't override the endorsed dir if the user has set it previously echo "Will not be execute." :exit echo ok exit /B 33 >echo %java_home% C:\web\jdk1.8.0_121 >haha.bat The JRE_HOME environment variable is not defined correctly This environment variable is needed to run this program ok
1 編輯本地DNS文件
在本地實現dns解析能夠給工做帶來不少便利,最簡單的實現就是hosts文件了。但是每次編輯時真是麻煩。這裏把針對該文件的編輯由一個命令直接實現。文件名就保存爲hosts.cmd,放在系統PATH下。
@echo off notepad c:\Windows\System32\drivers\etc\hosts
2 putty的文件傳輸
要是更習慣命令行操做,那麼putty提供的命令能夠這樣編輯。這個保存爲cp.cmd,這個命令更像linux環境,跟windows的copy也不衝突。
@echo off pscp.exe -l weblogic -i C:\Users\Donatello\win.ssh\h1\id_rsa-2p.ppk %1 %2
使用時,連用戶名密碼都不用輸入,只須要指定源文件路徑和文件名、目標路徑文件名便可。
若是是須要啓動putty,怎麼作?答案是直接複製一份到PATH便可。啥都不用幹
3 SecureCRT
這個要麼是安裝的、要麼是複製的,要是想直接「ctrl+r」快速啓動(避免動鼠標)?
又來了,……,名字就看我的愛好了。
C:\WINDOWS\system32>copy hosts.cmd crt.cmd 已複製 1 個文件。 C:\WINDOWS\system32>notepad.exe crt.cmd C:\WINDOWS\system32>crt C:\WINDOWS\system32>type crt.cmd @echo off "C:\Program Files (x86)\securecrt\SecureCRT.exe"
* 有個問題
cp.cmd,若是拷貝的目標不是倆參數(參數不肯定呢),要是還想用cmd腳本以cp命令執行,該怎麼寫?
D:\Desktop>pscp ping.sh ping2.sh cer.sh root@hp:/root root@hp's password: ping.sh | 0 kB | 0.3 kB/s | ETA: 00:00:00 | 100% ping2.sh | 0 kB | 0.4 kB/s | ETA: 00:00:00 | 100% cer.sh | 0 kB | 0.4 kB/s | ETA: 00:00:00 | 100%