Lista winnt@man.lodz.pl
[Lista archiwów] [Inne Listy]

Re: [WINNT] Pytania do użytkowników Windows Live Mail 2012

To: winnt@man.lodz.pl
Subject: Re: [WINNT] Pytania do użytkowników Windows Live Mail 2012
From: Maniak <xyz@abc.com>
Date: Tue, 21 Apr 2020 19:13:58 +0200
W dniu 21.04.2020 o 18:47, Grzegorz Niemirowski pisze:
Maniak <xyz@abc.com> napisał(a):
Zaczynam się bać.
Komunikaty podczas przetwarzania się tego drugiego skryptu są bardzo
dziwne. Sięga do bardzo różnych plików na dysku, w bardzo różnych
folderach, ale  żaden z nich nie ma nic wspólnego z pocztą.

Czy uruchamiasz go w folderze z pocztą?

Co to za pytanie ??? W moim poście z 14:16 :
Oczywiście w grę wchodzi tylko działanie na kopii wyeksportowanych folderów.
Na wypadek konieczności zrobienia importu chcemy zachować zrobiony eksport.

Czy podawałeś ścieżkę do tego folderu jeśli uruchamiasz z innego (dla komendy ls)?
Z kolei Twój post z 15:52:
Skrypt działa w bieżącym katalogu. Jeśli masz te pliki w podkatalogach, zmień ls na ls -r

Wszystko było w C:\  skrypty i poczta (wszystkie katalogi z podkatalogami).

Teraz rozumiem poprzednie zastrzeżenie o zaufaniu.

Oczywiście, bo np. może być błąd w skrypcie. Jeden już nawet widzę. Otóż testowałem u siebie na plikach .txt i w skrypcie wysłanym na grupie było właśnie *.txt zamiast *.eml. Skrypt mógł więc zmienić Ci nazwy niektórych plików tekstowych.
Bardzo przepraszam.

Jak mam to teraz odkręcić??? Jak wrócić z nazwami plików .txt?  Twój skrypt hulał po całym dysku.


Poniżej poprawny, dodatkowo z obsługą nieprawidłowych znaków:
$c = 1
ls -r *.eml | foreach {
   $subject = gc $_ | Select-String 'Subject: (.*)' | foreach {$_.Matches} | foreach {$_.Groups[1].Value}
   if($subject -is [String]) {
       $subject = $subject.Split([IO.Path]::GetInvalidFileNameChars()) -join '_'
       'Rename ' + $_.Name + ' -> ' + $subject + $c + '.eml'
       $_ | Rename-Item -NewName ($subject + $c + '.eml')
   }
   $c = $c + 1
}

Już nie będziemy próbować. Chcemy tylko wrócić do sytuacji sprzed prób z Twoimi skryptami.
Oczekujemy, że to napiszesz.

Wiedziałeś dobrze, że masz do czynienia z osobami, które  się na tym nie znają i które mając do Ciebie zaufanie wkleją Twój tekst. Wiedziałeś, że nie zauważymy ewentualnych błędów i ich nie poprawimy.

Jeśli nie masz czasu lub chęci na wystarczające skupienie się, to lepiej nie pomagaj.  To chyba nie jest wyścig
na grupach kto więcej porad napisze. A może jest?

<Pop. w Wątku] Aktualny Wątek [Nast. w Wątku>