如何用寫一個bat指令碼返回昨天的年月日,其實用bat寫很麻煩,你要寫一個For 來拿到Date的年月日,然後再寫一個小程式來推算昨天的年月日。其實要使能直接執行.net代碼多好,.net Datetime.Now.AddDays(-1) 就是昨天了
其實Powershell就幫你回答這個問題,可以利用.net 類庫豐富的功能支援,比如操作XML,檔案IO,網路等特性。當然也可也自己來寫一個類庫,來實現複雜的指令碼。
這時候,你開啟powershell,敲入 [DateTime]::Now
則返回當前的日期,如果看看Now有哪些方法和屬性
[DateTime]::Now | get-member
當然你要計算你長了多大的話,[DateTime]::Now-[DateTime]("yourbirthday")就返回你的年齡了,呵呵。我通常用這個來計算一下我baby幾個月幾天了。
powershell允許你定義一個變數,針對FTP下載的問題。你首先產生你要下載的檔案名稱,然後整理到一個String,發給FTP就可以了。
以下是一個簡單的例子。
$yersterday=[DateTime]::Now.AddDays(-1);
$yyyy=$yersterday.Year;
$mm=$yersterday.Month;
$day=$yersterday.Day;
$file1=[String]::Format("90193698_{0}{1:00}{2:00}_{0}{1:00}{2:00}.zip",$yyyy,$mm,$day);
$cmd = "open yourftpserver
user username password
binary
get $file1"
$cmd | ftp -i -n
把他另存新檔一個PS1檔案。 如果讓他自動啟動並執行話,寫一個windows schedule task "powershell fullpathoftheps1"
預設poweshell有一個執行策略,不運行執行偉簽名的檔案。你可以改為
set-ExecutionPolicy RemoteSigned
或者直接改一下註冊表
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
或許這是個PS很好的一個實用例子吧。