PowerShell $date = Get-Date; $date=$date.AddDays(%%I); $date.ToString('MM-dd-yyyy') >c:\temp\datas
我想按以下顺序运行上面的命令
1-用当前值替换%% I,假设为-1
2-运行powershell命令,如下所示
PowerShell $date = Get-Date; $date=$date.AddDays(-1); $date.ToString('MM-dd-yyyy')
3-将结果放在文件C:\ temp \ datas
中可以吗?
答案 0 :(得分:0)
为什么你还没试过呢?它工作正常,虽然它很慢。我假设你真的想要使用追加模式,否则你的文件永远不会超过一行。
@echo off
for /l %%I in (-10, 1, 10) do PowerShell $date = Get-Date; $date=$date.AddDays(%%I); $date.ToString('MM-dd-yyyy') >>c:\temp\datas
以下更复杂的形式也有效。我不确定何时需要此表格
@echo off
for /l %%I in (-10, 1, 10) do PowerShell -command "&{$date = Get-Date; $date=$date.AddDays(%%I); $date.ToString('MM-dd-yyyy')}" >>c:\temp\datas
每次迭代调用PowerShell都非常慢,因为每次加载PowerShell需要一些时间。如果将循环置于PowerShell中,速度会快得多。
使用批处理循环可以更有效地工作的另一个选项是使用我的GetTimestamp.bat hybrid JScript/batch utility:
@echo off
for /l %%I in (-10, 1, 10) do call getTimestamp -od %%I -f "{mm}-{dd}-{yyyy}" >>c:\temp\datas