如何用写一个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很好的一个实用例子吧。