CLS
@rem 清除 cmd 畫面
::20110321 Network ReMount
@rem 另一種註解為「::」,與文字間不得有空白,否則會無法正確執行該程式。

@echo off
@set file=flyfox_%date:~0,4%%date:~5,2%%date:~8,2%.bak

::Network Test
ping -n 3 192.168.1.11 | find "Reply"
IF %ERRORLEVEL%==1 GOTO Netclose
@rem %ERRORLEVEL%==0 表示有找到 Reply
@rem %ERRORLEVEL%==1 表示沒有找到 Reply

goto Checknethd
exit

:Checknethd

@if not exist Z: net use Z: \\192.168.1.11\DB abc123 /user:"flyfox" | echo %date%-%time%
NetHD ReMount >> \\192.168.1.11\MountLog\%computername%.txt

@copy /B /V /Y Z:\test\%file% E:\Backup
@echo on
@exit

::set /a v 是設定的參數,不給值的情況下初始值為0
::GEQ:判斷式,等於或大於

:Netclose
echo %date%-%time% Network Hard Disk Error >> log.txt
exit

if 表示將判斷是否符合規定的條件,從而決定執行不同的命令。
1、if \參數\ == \字符串\  待執行的命令
參數如果等于指定的字符串,則條件成立,運行命令,否則運行下一句。

2、if exist 文件名  待執行的命令
如果有指定的文件,則條件成立,運行命令,否則運行下一句。

if errorlevel / if not errorlevel 數字  待執行的命令
如果返回碼等於指定的數字,則條件成立,運行命令,否則運行下一句。


&
依序執行多個指令,而不管是否成功執行

&&
依序執行多個指令,當指令出錯時則不執行後續的指令

||
依序執行多個指令,當碰到執行正確的指令則不執行後續的指令

|
先執行管線前的指令,再對其結果執行後續的指令

^ 和 > 是控制命令,要把這些字元輸出必須在前面加 ^

set /A tt=%yyyy% %% 4
if not %tt%==0 goto SET28

SET day=%1
::設定第一個輸入參數值 day
SET filepath=%2
::設定第二個輸入參數值 filepath
if not defined day goto Syntax
if not defined filepath goto Syntax
::如果 day、filepath 沒有被定義就 goto syntax

 

echo off
set file-name=d:\SANY0001.MP4
echo %file-name%
(if exist %file-name% ( echo "file exist!!!" ) else (echo "file not exist!!!") )

flyfox 發表在 痞客邦 PIXNET 留言(0) 人氣()