我有一个简单的powershell脚本,运行良好,当我从powershell编辑器执行它,但是从Windows任务计划程序运行它时,会产生完全不同的结果。
原始代码如下…只是想从m:驱动器复制最新的文件。
$OriginalDir = "M:" $BackupDir = "c:\downloads\db" $LatestFile = Get-ChildItem -path m: -Name -ErrorAction SilentlyContinue | Sort-Object LastWriteDate -descending | select -last 1 Write-OutPut $LatestFile write-output $LatestFile | add-content C:\Scripts\Log.txt #Copy-Item -path $OriginalDir\$LatestFile $BackupDir\$LatestFile
针对“M”驱动器中的内容进行testing:
文件列表
从powershell编辑器运行时,我得到最新的文件(20170720(星期四).bak)。 当我从Windows任务调度程序运行时,我得到20170717(星期一).bak。 我从同一个帐户运行,并且对正在发生的事情感到不知所措。
有任何想法吗?
拉里
(由于某种原因,不能访问其他帐户…原始海报在这里)。 我检查了映射的驱动器,两者都是一样的。 试过不同的权利运行,一样。 结束匹配文件名的前8个字符(如下所示):
$filedate = (get-date).AddDays(-1).tostring('MMddyyyy') $LatestFile = Get-ChildItem -Path $OriginalDir -Name "$filedate*.bak" | Sort LastWriteTime | Select -First 1
(从Task Scheduler和通过PS编辑器运行时,这工作)
感谢所有的帮助! 仍然是/是奇怪的行为。