如何修剪文本文件中的日期。例如,我有多个文件,如:
我想换成:
感谢。
答案 0 :(得分:2)
此代码应该可以正常运行,假设文本文件名格式不会更改,例如,它始终是您需要删除的最后9个字符。此代码假定txt文件位于文件夹C:\ folder
中 $filelist = (get-childitem c:\folder | Where-Object {$_.mode -match "a"} | foreach-object {$_.name})
foreach ($file in $filelist)
{
$len = $file.length
$newname = $file.substring(0,$len -13)
$newname = $newname + '.txt'
Rename-Item C:\folder\$file $newname
clear-variable newname, len
}
答案 1 :(得分:0)
这个问题的答案会根据命名模式的类型而有所改变,但在你的情况下,你可以用这样的脚本完成这个:
Get-ChildItem |
Where-Object {
<#
Multiple Assignment in PowerShell.
$beforeUnderbar will have your name,
$AfterUnderBar will have the data, and
$extension will have the extension.
All from one little -split
If you start throwing random other files in there, it will barf.
#>
$beforeUnderbar, $afterUnderBar, $extension = ($_.Name -split "[_.]")
if ($afterUnderBar -and $afterUnderBar.Length -eq 8 -and $afterUnderBar -as [int]) {
"$beforeUnderBar.$extension"
}
}
该脚本应该根据您的命名约定为您提供所需的文件。