首页 > 解决方案 > 每次运行程序时添加+1?

问题描述

我最近想通过清理一下来改进我的代码。在我的简单复制和粘贴程序中,我想在程序每次运行后创建一个日志文件。问题在于命名文本文件:我不想覆盖任何日志文件,因此给文件一个唯一的名称。现在它看起来像这样: start-transcript - Path $Sourcefolder\log-$logname_$logH.$logM.$logS

基本上,它会根据您运行程序的时间创建一个日志文件,并会给出一个唯一的名称(我必须在单独的函数中使用小时、分钟和秒,否则会使用特殊字符,但这不是问题)

结果将如下所示: log-08.11.202114.47.56

不是真的那么好。我对这个问题的解决方案是添加变量 $i 并在每次程序运行时添加 +1。但是如果我尝试这样做,该值将在完成后自动重置为 0。

我的问题,有没有办法实现这一点,还是有另一种方式?

(对不起,如果格式不好,目前在手机上)

标签: powershell

解决方案


为什么不在日志文件名中加入类似 ISO8601 的时间戳。是否需要大于一 (1) 秒的粒度?

PS C:\> $LogFilename = 'log-' + (Get-Date -Format 'yyyyMMddTHHmmss') + '.log'
PS C:\> $LogFilename
log-20211108T083105.log

推荐阅读