Przemysław Adam Śmiejek <niechce@spamu.pl> napisał(a):
> I nie ma tego kasować, a przełożyć na tył. Ma powstać
> data_godzina_cośtam
> sedem mogę to zapisać tak:
> $ echo "costam_data_godzina.txt" | sed
> -e"s/\(.*\)_\(.*\)_\(.*\).txt/\2_\3_\1.txt/"
> data_godzina_costam.txt
> choć to nie szczyt elegancji pewnie, ale nie umiałem na szybko wyłączyć
> zachłanności w pierwszej części, bo regexpy to nie jest moja silna strona.
Dobra, nie ma co się pieprzyć ze skryptami cmd, pojedźmy więc z
PowerShellem. Nie pamiętam jakiego masz Windowsa ale PowerShell można
zainstalować conajmniej na XP, na Win7 jest już wbudowany. W PowerShellu
będzie bardzo podobnie jak w sedzie:
PS C:\Users\Grzegorz\Desktop> "cośtam_data_godzina" -replace
"(cośtam)_(.*)_(.*)","`$3_`$2_`$1"
godzina_data_cośtam
Więc całość będzie wyglądać tak:
ls cośtam_* | foreach {$a = $_ -replace
"(cośtam)_(.*)_(.*)\.txt","`$2_`$3_`$1.txt"; mv $_ $a}
-- Grzegorz Niemirowski http://www.grzegorz.net/ OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/ Uptime: 3 days, 10 hours, 5 minutes and 14 secondsReceived on Sun May 16 13:40:03 2010
To archiwum zosta³o wygenerowane przez hypermail 2.1.8 : Sun 16 May 2010 - 13:42:02 MET DST