powershell - 每次运行程序时添加+1?
问题描述
我最近想通过清理一下来改进我的代码。在我的简单复制和粘贴程序中,我想在程序每次运行后创建一个日志文件。问题在于命名文本文件:我不想覆盖任何日志文件,因此给文件一个唯一的名称。现在它看起来像这样:
start-transcript - Path $Sourcefolder\log-$logname_$logH.$logM.$logS
基本上,它会根据您运行程序的时间创建一个日志文件,并会给出一个唯一的名称(我必须在单独的函数中使用小时、分钟和秒,否则会使用特殊字符,但这不是问题)
结果将如下所示:
log-08.11.202114.47.56
不是真的那么好。我对这个问题的解决方案是添加变量 $i 并在每次程序运行时添加 +1。但是如果我尝试这样做,该值将在完成后自动重置为 0。
我的问题,有没有办法实现这一点,还是有另一种方式?
(对不起,如果格式不好,目前在手机上)
解决方案
为什么不在日志文件名中加入类似 ISO8601 的时间戳。是否需要大于一 (1) 秒的粒度?
PS C:\> $LogFilename = 'log-' + (Get-Date -Format 'yyyyMMddTHHmmss') + '.log'
PS C:\> $LogFilename
log-20211108T083105.log
推荐阅读
- f# - 如何使用常见的 Assert 方法(F#)实现一个干净的基础测试类
- python - 从转换为二维数组的两个管道分隔文件之间执行的操作得到错误的输出
- oracle - 来自异常块 Oracle 的控制循环语句
- c# - 如何在 IdentityService v4 中为登录页面设置自定义重定向值?
- python - 如何在不大写('s)的情况下标题()数据框
- r - 将特征转换为假人
- python - 用 GA 解决 TSP:距离矩阵应该加快运行时间吗?
- php - LARAVEL - 帖子排序方式 - 刷新后的选定值(引导程序)
- python - function __eq__ 另一个函数给出 NotImplemented
- php - cURL Laravel 和 Aspx 端点