Skip to Content

IT nieuczesane.
archive

> Daily Archives: 24 września 2013

Przenieś/Kopiuj do folderu…

Opcja bardzo przydatna i niedostępna domyślnie w windowsach.

przen

Ku pamięci zapisuję, może ktoś jeszcze skorzysta :)

W drzewie HKEY_CLASSES_ROOT\AllFilesystemObjects\shellex\ContextMenuHandlers

Dla „kopiowania” dodajemy klucz o nazwie „kopiuj do” i wartości domyślnej

{C2FBB630-2971-11D1-A18C-00C04FD75D13}

Dla „przenoszenia dodajemy klucz o nazwie „przenies do” i wartości domyślnej

{C2FBB631-2971-11D1-A18C-00C04FD75D13}

Wartości przepisujemy/kopiujemy razem z nawiasami klamrowymi jako jeden ciąg znaków!

Załączam gotowe pliki .reg dla leniwych lub nietechnicznych -> copyto_moveto

Po rozpakowaniu wystarczy je uruchomić i zatwierdzić.

 

 

 

wyszukiwanie ciągów znaków

kilka słów o jednej z najczęściej wykonywanej czynności – wyszukiwanie ciągów znaków. przydatne w każdym aspekcie – debugowanie wyników, przeglądanie logów lub po prostu zawężanie outputu. w Linuxie jest stary, dobry grep. a co jest w PS?

w pierwszej kolejności jest Select-String. narzędzie potężne – i jak to często w przypadq PS, zdradliwe. największą zdradą jest fakt, że sls [automatyczny alias od PS3.o] nie jest zwykłym grep’em textowym – jest narzędziem obiektowym. praktycznie wszystko w PS jest obiektem, więc również listingi nimi są.

zależnie od wersji PS – 1.o, …4.o – dostaniemy inne wyniki. w wersji 3.o i mniejszej, przy standardowej ‚tabelce’, dostaniemy wyłącznie wynik pojedynczej kolumny:

PS C:\> Get-Process | Select-String power

System.Diagnostics.Process (powershell)

w PS4.o wyniki najpierw są parsowane do stringa, więc wynik jest bardziej tym, czego można się spodziewać (ALLELUJA!):

PS C:\> Get-Process|sls power
512      25    72944      82868   611     4,05   3528 powershell

jak zatem radzić sobie z Select-String w PS3.o-? IMHO najprostszym sposobem jest wykorzystanie ‚starego, dobrego’ findstr. dość drastyczne różnice w wersjach PS to jedna z największych bolączek – wszystko idzie w dobrym kierunq, ale niespójność konsoli i narzędzi na poszczególnych serwerach jest WIELKIM PROBLEMEM. kiedyś o tym już pisałem obszerniej. dodatkowo, na dzień dzisiejszy, wersja 4.o [dostępna w win8.1/12] jest dostępna wyłącznie ‚preview’.

a jak ktoś się uprze, żeby jednak koszernie używać Select-String w PS3.o- oto jak to powinno wyglądać:

PS C:\> (Get-Process | Out-String ) -split "`n" | Select-String power
645      30   140712     157660   647    11.69   7728 powershell

masakra, co? nie dość, że trzeba najpierw skonwertować wynik na string, to jeszcze trzeba powstawiać line-feedy. jest jednak jedna cecha Select-String, która powoduje, że czasem warto się przemęczyć – parametr ‚context’. głupi findstr Ci tego nie da (; context powoduje wyświetlenie X linii przed i po wystąpieniu danego ciągu. jest to niezwykle przydatne np. przy filtrowaniu [grepowaniu (; ] netstat. odpowiedź na pytanie ‚jaka aplikacja bloqje port 53500?’:

PS C:\> netstat -anb |sls 53500 -Context 1
[lync.exe]
>   TCP    192.168.7.77:53500     157.55.236.69:443      ESTABLISHED
[Explorer.EXE]

przy prostym findstr dostaniemy wyłącznie pojedynczą linię – co nie odpowie na pytanie…

dość fajnym dodatkiem jest narzędzie outgridview, które przy przeglądaniu wyników może również wiele dobrego wnieść [dostępne po zainstalowaniu PS ISE]. daje możliwość graficznego przeglądania wyników i dynamicznego filtrowania:

PS C:|>Get-Process | Out-GridView

eN.

 

%d bloggers like this: