vermin.eu.org

Specjalista IT na tru^Hopie

Entries Comments



cmd i for

25 September, 2006 (06:53) | gadgets, windows | By: vermin

Ostatnio (dopiero), musząc wykonać operacje na dużej ilości plików, odkryłem jak przydatne jest polecenie for w cmd.exe

1. Wykonaj jakąś operację na zestawie plików - w tym wypadku pobierz odpowiednie dane z plików XLS

for %i in (*.xls) do getData.vbs “%~fi”

wykonuje skrypt getData.vbs na wszystkich plikach Excela w bieżącym katalogu.
Wzięcie zmiennej %i w cudzysłów, pozwala na rozwiązanie problemu ze spacjami w nazwie pliku. Jak widać sama zmienna został tu zmodyfikowana - modyfikator ~f rozwija zmienną plikową do pliku z pełną ścieżką.

2. Wykonaj jakąś operację na plikach umieszczonych w podkatalogach

for /R %i in (*.jpg) do move /Y “%i” “%USERPROFILE%\Moje dokumenty\Moje obrazy”

Ta wspaniała komenda przyda się, gdy zgraliśmy kilka stron z obrazkami i chcemy te obrazki właśnie przenieść szybko do katalogu z obrazami. For przejdzie przez wszystkie podkatalogi i dla zbiorów spełniających warunek wykona operację przeniesienia plików.

3. For potrafi przejść przez plik typu csv i wydobyć z niego odpowiednie informacje

for /f “tokens=1,3,4* delims=:” ” %i in (etc_passwd) do @echo %i %j %k %l

Dzięki temu z pliku /etc/passwd (w którym znajdują się zazwyczaj takie informacje jak Name:Password: UserID:PrincipleGroup:Gecos: HomeDirectory:Shell) pod windowsem możemy wydobyć username (%i), id (%j), id grupy (%k). Pozostałe tokeny (*) znajdują się w zmiennej %l

4. Można też spingować hosty w zadanym zakresie - tutaj przejdziemy pojedyńczo przez całą podsieć 192.168.123.[1-254]

for /l %i in (1,1,254) do ping -n 1 192.168.123.%i

lub od końca

for /l %i in (254,-1,1) do ping -n 1 192.168.123.%i

To tylko przykłady tego, co może to polecenie, a dzięki ogromnej ilości parametrów potrafi wiele - od niedawna to mój szwajcarski scyzoryk pod Windows.

Write a comment