【发布时间】:2018-04-25 00:34:47
【问题描述】:
我正在编写一些 PS 脚本来将时间记录到文本文件 login.txt 中,使用以下代码:
$logdir = "C:\FOLDER"
$logfile = "$logdir\LastLogin.txt"
$user = $env:USERNAME
$date = Get-Date -Format "dd-MM-yyyy"
if (!(Test-Path $logdir)){New-Item -ItemType Directory $logdir}else{}
if (!(Test-Path $logfile)){New-Item $logfile}else{}
if (Get-Content $logfile | Select-String $user -Quiet){write-host "exists"}else{"$user - $date" | Add-Content -path $logfile}
(Get-Content $logfile) | Foreach-Object {$_ -replace "$user.+$", "$user - $date"; } | Set-Content $logfile
这会在文本文件中创建一个条目,例如:
用户名 - 01-01-1999
使用 Powershell,我想读取文本文件,将文本文件中的日期 01-01-1999 与当前日期进行比较,如果相差超过 30 天,将 UserName 提取到变量中以供以后使用在脚本中。
我非常感谢有关如何执行以下操作的任何提示:
- 将文本文件中的日期与当前日期进行比较。
- 如果相差超过 30 天,则选择 UserName 作为变量。
如果有任何建议,我将不胜感激。
【问题讨论】:
-
可以减去日期:
$diff = $($(Get-Date) - $date_file).Days为您提供现在之间的天数和一个名为$date_file的包含日期的变量。
标签: powershell getdate