A A A

Zabawy z plikami

PC Format 1/2008
W tym odcinku dwa skrypty. Oba pracują na plikach i ułatwiają uporządkowanie danych przechowywanych na dysku. Dzięki skryptom posegregujesz pliki według ich nazw, a także pogrupujesz we właściwych folderach dokumenty zapisane na pulpicie.

Porządkowanie dokumentów zapisanych na pulpicie

Wielu użytkowników zapisuje tworzone przez siebie dokumenty na pulpicie Windows. Rezultat? Po dłuższym korzystaniu z komputera pulpit usiany jest mnóstwem ikonek, trudno odnaleźć właściwą. Wystarczy jednak użyć skryptu, który automatycznie uporządkuje zawartość pulpitu, przenosząc pliki do automatycznie utworzonych folderów wg rozszerzeń plików (np. pliki .doc zostaną przeniesione do foldera Doc, pliki .xls do foldera Xls itp. – listing 2.


Linia 1 to definicja stałej DESKTOP. Jej wartość będzie później potrzebna do tego, by skrypt uwzględniał tylko pliki znajdujące się w folderze Pulpit danego użytkownika. Jeżeli jednak z pewnych względów chciałbyś dysponować skryptem przenoszącym pliki z pulpitu wszystkich użytkowników, zastąp linię pierwszą następującym zapisem:

Const ALL_USERS_DESKTOP = &H19&


Linia 3 to utworzenie obiektu Shell.Application, a następnie – w liniach od 5 do 7 – skrypt łączy się z pulpitem, pobiera ścieżkę do niego, która zostaje przypisana zmiennej strPath.


Linie od 11 do 16 powinny wyglądać znajomo. Istotnie, wykorzystano w tym przypadku – podobnie jak w poprzednio opisywanym skrypcie – usługę WMI i kwerendę ASSOCIATORS OF do utworzenia kolekcji plików znajdujących się na pulpicie.


Co dalej? Czas na wystąpienie obiektu Scripting.FileSystemObject (linia 17) i ustawienie pętli For Each (linie od 19 do 29), która „przeszuka” całą kolekcję plików zwróconą kwerendą usługi WMI, a następnie przeniesie znalezione pliki do odpowiednich folderów.


W pierwszym wierszu wewnątrz pętli budowana jest ścieżka do foldera docelowego dla przenoszonych plików. Zgodnie z wcześniejszymi założeniami nazwa foldera ma być taka jak rozszerzenie plików (bez kropki), jakie do tego foldera mają być przeniesione. Stąd też zwrot – w linii 20objFile.Extension.


Wewnątrz pętli For Each znajduje się konstrukcja warunkowa If Then Else. Po co? Otóż najpierw (linie 21 – 23) przebiega sprawdzenie, czy istnieje docelowy folder dla plików o określonym rozszerzeniu i jeżeli tak, następuje przeniesienie do niego odpowiednich plików.


Kolejne linie – od 24 do 27 – są przydatne w sytuacji, gdy folder nie istnieje. Wtedy w pierwszej kolejności jest on tworzony, a następnie są do niego przenoszone pliki.


Z pewnością zauważysz podobieństwa i różnice w kodzie obu skryptów. Spróbuj tak zmodyfikować pierwszy ze skryptów, by pliki o nazwach zawierających rok były przenoszone do automatycznie tworzonych nowych folderów. Mechanizm automatycznego tworzenia folderów (o nazwach odpowiadających rozszerzeniu plików) wyjaśniliśmy w drugim skrypcie. Nic nie stoi też na przeszkodzie, by rozbudować skrypt o działanie na kilku folderach jednocześnie.


Tagi: porady
Ocena:
Oceń:
Komentarze (0)

Redakcja nie ponosi odpowiedzialności za treść komentarzy. Komentarze wyświetlane są od najnowszych.
Najnowsze aktualności




Instagramowicze nabrali się na Bali
19 lutego 2020
Użytkowniczka Instagrama nabrała swoich followersów. Sesja zdjęciowa, którą opublikowała, wyglądała jak robiona na Bali...
Artykuły z wydań

  • 2020
  • 2019
  • 2018
  • 2017
  • 2016
  • 2015
  • 2014
  • 2013
  • 2012
  • 2011
  • 2010
  • 2009
  • 2008
  • 2007
Zawartość aktualnego numeru

aktualny numer powiększ okładkę Wybrane artykuły z PC Format 2/2020
Przejdź do innych artykułów
płyta powiększ płytę
Załóż konto
Co daje konto w serwisie pcformat.pl?

Po założeniu konta otrzymujesz możliwość oceniania materiałów, uczestnictwa w życiu forum oraz komentowania artykułów i aktualności przy użyciu indywidualnego identyfikatora.

Załóż konto