我们正在将Unix脚本移植到PowerShell。我是PowerShell的新手,在查找Unix中at
命令的替换时遇到了问题。
我们有一个使用at
命令安排的脚本:
SEQ_NO=12; export SEQ_NO
A=R2.13575180; export A
B=R4.13575180.DAT; export B
chmod 777 R4.13575180.DAT
echo "sh R4.13575180.DAT > M.reclog " |
at now + 2 minutes
R4.13575180.DAT
里面会包含PowerShell命令。我能够找到其他命令的替代品。我需要找到at
命令的替代品。我确实通过了某些链接,但我仍然不清楚。你能建议换一个吗?
答案 0 :(得分:3)
由于您是PowerShell的新手,以下是一些一般性建议:
重要:ScheduledTasks PowerShell模块仅适用于带有Microsoft .NET Framework 4.5.1和PowerShell 4.0版的Windows 8.1。
如果您想安排将来运行的某些内容,那么您很可能正在寻找名为ScheduledTasks
的PowerShell模块。
要查找ScheduledTasks
模块中的命令,请使用以下命令:
Get-Command -Module ScheduledTasks;
为了更具体地回答您的问题,以下是如何创建ScheduledTask的示例:
# 1. Create a trigger
$Trigger = New-ScheduledTaskTrigger -At '2013-12-30 12:00:00 AM' -Once;
# 2. Create an action
$Action = New-ScheduledTaskAction -Execute powershell.exe -Argument '-Command Write-Host -Object "hi";'
# 3. Create the scheduled task
$Task = New-ScheduledTask -Action $Action -Trigger $Trigger -Description PowerShell;
# 4. Register the ScheduledTask
Register-ScheduledTask -InputObject $Task -TaskName PowerShell;
# 5. [Optional] View / confirm the ScheduledTask object
Get-ScheduledTask -TaskName PowerShell;
答案 1 :(得分:1)
由于您运行的是Windows 7 / PowerShell 2.0,因此您可能希望从PowerShellPack获取TaskScheduler模块。
这将为您提供管理计划任务的cmdlet。