Maniak <xyz@abc.com> napisał(a):
Niestety, wszystko na czerwono. :-(
Opisy błędów się powtarzają. Są m.in. takie:
Rename-Item : Cannot rename the specified target, because it represents a path
or device name.
At C:\wlm.ps1:4 char:9
+ $_ | Rename-Item -NewName ($subject + $c + '.eml')
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Rename-Item], PSArgumentException
+ FullyQualifiedErrorId :
Argument,Microsoft.PowerShell.Commands.RenameItemCommand
Rename-Item : Cannot convert 'System.Object[]' to the type 'System.String'
required by parameter 'NewName'. Określona m
etoda nie jest obsługiwana.
At C:\wlm.ps1:4 char:30
+ $_ | Rename-Item -NewName ($subject + $c + '.eml')
+ ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidArgument: (:) [Rename-Item], ParameterBindingException
+ FullyQualifiedErrorId :
CannotConvertArgument,Microsoft.PowerShell.Commands.RenameItemCommand
Co jeszcze mam zmienić?
Pozdrawiam
Trudno powiedzieć na odległość. Pewnie w tytułach są znaki takie jak : \ i inne, które są niedozwolone. Zobacz na jakim pliku wywala
się poniższa wersja:
$c = 1
ls -r *.txt | foreach {
$subject = gc $_ | Select-String 'Subject: (.*)' | foreach {$_.Matches} |
foreach {$_.Groups[1].Value}
if($subject -is [String]) {
'Rename ' + $_.Name + ' -> ' + $subject + $c + '.txt'
$_ | Rename-Item -NewName ($subject + $c + '.txt')
}
$c = $c + 1
}
--
Grzegorz Niemirowski
https://www.grzegorz.net/
|