# Microsoft Windows [Version 10.0.17134.648]
# powershell 5.1.17134.48
# Calculate time to complete task using Notepad++ "backup on save" feature. Create a copy and paste table of files sorted by LastWriteTime.
# Can be used as a shortcut: powershell -noexit $time = (Get-Date).AddDays(-1); gci * -exclude _*, 1* | where {$_.LastWriteTime -gt $time}| sort -property LastWriteTime -descending | Format-Table LastWriteTime, length, @{n='foo';e={$_.Name -replace '(?<=^.*\.html).*$' -replace '(?<=^.*\.jpg).*$'}} -HideTableHeaders
# start it in %userprofile%\Documents\NOTEPAD++ AUTOBACKUP
Set-Location -Path "$env:userprofile\Documents\NOTEPAD++ AUTOBACKUP"
# how old a file? Today? 4 days old?
$time = (Get-Date).AddDays(-1)
# $time = (Get-Date).AddDays(-4)
# do you want to exclude files with -exclude? Do you want to include with -include?
gci * -exclude _*, 1* | where {$_.LastWriteTime -gt $time}| sort -property LastWriteTime -descending | Format-Table LastWriteTime, length, @{n='foo';e={$_.Name -replace '(?<=^.*\.html).*$' -replace '(?<=^.*\.jpg).*$'}} -HideTableHeaders
gci * -exclude _*, 1* | where {$_.LastWriteTime -gt $time} | sort -property LastWriteTime -descending | Format-Table LastWriteTime, length, Name -HideTableHeaders
# gci * | where {$_.LastWriteTime -gt $time} | sort -property LastWriteTime -descending | Format-Table LastWriteTime, length, @{n='foo';e={$_.Name -replace '(?<=^.*\.html).*$' -replace '(?<=^.*\.jpg).*$'}} -HideTableHeaders
# gci * -include [0-9][0-9][0-9]*, avail* | where {$_.LastWriteTime -gt $time} | sort -property LastWriteTime -descending | Format-Table LastWriteTime, length, @{n='foo';e={$_.Name -replace '(?<=^.*\.html).*$' -replace '(?<=^.*\.jpg).*$'}} -HideTableHeaders
출력:
5/4/2019 10 : 47 : 27 AM 114036 springhill_falls2bd750_885.jpg
5/4/2019 10 : 45 : 25 AM 1301974 springhill_falls2bd750_885.psp
5/4/2019 10 : 37 : 08 AM 19268 springhill_falls2bd13.html
5/4/2019 10 : 37 : 08 AM 94007 available13.html
5/4/2019 10 : 37 : 08 AM 36729 index.html
5/4/2019 10 : 32 : 16 AM 62801 aj.php
그리고:
5/4/2019 10 : 47 : 27 AM 114036 springhill_falls2bd750_885.jpg.2019-05-04_104748.bak
5/4/2019 10 : 45 : 25 AM 1301974 springhill_falls2bd750_885.psp.2019-05-04_105221.bak
5/4/2019 10 : 37 : 08 AM 19268 springhill_falls2bd13.html.2019-05-04_105856.bak
5/4/2019 10 : 37 : 08 AM 94007 available13.html.2019-05-04_105657.bak
5/4/2019 10 : 37 : 08 AM 36729 index.html.2019-05-04_105657.bak
5/4/2019 10 : 32 : 16 AM 62801 aj.php.2019-05-04_103229.bak
Microsoft Windows [버전 10.0.17134.648]
powershell 5.1.17134.48
Notepad++ / NPP / Notepad Plus "저장 시 백업" 기능을 사용하여 작업 완료 시간을 계산하세요.
LastWriteTime으로 정렬된 파일의 복사 및 붙여넣기 테이블을 만듭니다.
바로 가기로 사용할 수 있습니다.
powershell -noexit $time = (Get-Date).AddDays(-1); gci * -exclude _*, 1* |
where {$_.LastWriteTime -gt $time} | sort -property LastWriteTime -descending |
Format-Table LastWriteTime, length, @{n='foo';e={$_.Name
-replace '(?<=^.*\.html).*$' -replace '(?<=^.*\.jpg).*$'}} -HideTableHeaders
NPP 자동 백업이 있는 디렉터리에서 시작하세요. 내 파일은 다음에 백업됩니다.%userprofile%\Documents\NOTEPAD++ AUTOBACKUP
이 스크립트는 편집된 파일 이름, 크기, 날짜 및 파일이 기록될 때마다 시간이 포함된 형식화된 테이블 출력을 생성합니다. 검색할 파일, 파일 이름 편집 방법, 검색하려는 파일의 일수를 쉽게 수정할 수 있습니다. 파일 작업 시간, 작업 완료 시간, 프로젝트 완료 시간을 추적하는 편리한 방법입니다.
정규식에 대한 자세한 내용은 아래 LotPings 답변을 참조하세요.
답변1
나는 RegEx를 사용하겠습니다.길이가 0인 LookBehind 주장html
이후 의 모든 항목을 제거하려면$_.Name
이는 계산된 속성을 사용하여 Select-Object
또는 다음에서 수행할 수 있습니다.Format-*
Get-ChildItem -File |
Format-Table @{n='foo';e={$_.Name -replace '(?<=^.*\.html).*$'}},Name -HideTableHeaders
샘플 출력:
available13.html available13.html.2019-03-26_081523.bak
index.html index.html.2019-03-26_081538.bak
답변2
다음을 사용하여 새 속성을 추가할 수 있습니다.Add-Member
이와 같이
$time = (Get-Date).AddDays(-4)
$files = gci * -include index*,avail* | where {$_.LastWriteTime -gt $time}
foreach ($f in $files) {
$f | Add-Member noteproperty newName -Value `
$f.Name.Substring(0, $f.Name.Length - ".yyyy-mm-dd_iiiiii.bak".Length)
}
$files | Format-Table -HideTableHeaders newName,Length,LastWriteTime
위의 코드 조각에서는 이름이 항상 로 끝난다고 가정합니다 .yyyy-mm-dd_iiiiii.bak
. 다른 형식이 있는 경우 질문에 해당 정보를 포함해야 하며 불필요한 부분을 제거하려면 교체, 하위 문자열...과 같은 다른 문자열 방법을 사용해야 할 수도 있습니다.