我开始使用powershell脚本,该脚本从特定日期的文件夹中提取文件名,并将它们提取到新的csv文件中。我想要的是修剪每行第5个字符后的字符。我从这开始:
Get-ChildItem U:\data\*.* |Where{$_.LastWriteTime -gt (Get-
Date).AddDays(-1)} | Foreach-Object {$_.BaseName} > U:\result.csv
我的结果是:
我想修剪_和之后每行的字符。 我希望结果是:
答案 0 :(得分:0)
在变量中指定它并使用split方法用下划线分割。 完成拆分后,您将将值存储在数组中。 因此,零指数将给出结果。
这应该做你的工作:
$values= Get-ChildItem U:\data\*.* |Where{$_.LastWriteTime -gt (Get-date).AddDays(-1)}
Foreach ($value in $values)
{
$value.BaseName.Split('_')[0] >> U:\result.csv
}
答案 1 :(得分:0)
就这样做
Get-ChildItem "U:\data\" -file |Where {$_.LastWriteTime -gt (Get-Date).AddDays(-1) -and $_.BaseName -like '*_*' } |
Foreach-Object {$_.BaseName.Split('_')[0]} > U:\result.csv
#short version
gci "U:\data\" -file |? {$_.LastWriteTime -gt (Get-Date).AddDays(-1) -and $_.BaseName -like '*_*' } |
% {$_.BaseName.Split('_')[0]} > U:\result.csv