skrypty BAT - znak zastepujacy kazdy inny znak

IP: 66.167.20.* 16.08.05, 19:25
witam
chce zrobic nastepujacy skrypt,
ma strukture katalogow powiedzmy dwudziestu, kazdy zaczyna sie od trzech
identycznych znakow LON, potem rozne cyfry, np:
LON2355
LON3434d
LON6334

chodzi mi o skrypt,ktory by wszedl do tego katalogu i utworzyl tam
podkatalog, tylko co zrobic aby ten skrypt byl uniwersalny, chodzi mi o to:

@echo off
cd LON%
md katalog

nie wiem czego uzyc aby skrypt uniwersalnie wchodzil do kazdego katalogu,
moze troche zamotanie wyjasnilem,ale mam nadzieje ze mniej wiecej wiadoamo o
co chodzi

Jacek
    • amon-ra Re: skrypty BAT - znak zastepujacy kazdy inny zna 16.08.05, 19:44
      Nie sądzę, aby to było możliwe - zastępując ciąg znaków symbolem wieloznacznym (*) raczej nie spowodujesz utworzenia podkatalogów w każdym z interesujących Cię folderów - taka instrukcja byłaby zapętlona i mogłoby dojść do wielokrotnego tworzenia w tym samym folderze obiektów o takiej samej nazwie. Tutaj chyba potrzebne jest bardziej wyrafinowane narzędzie, które zliczałoby ilość katalogów (przy wykorzystaniu odpowiednich kryteriów, w tym wypadku obecności określonej frazy w nazwie), układało je w postaci tablicy i wykonywało pętlę typu REPEAT ... UNTIL, każdorazowo sprawdzając, czy dany katalog wymaga modyfikacji (np. na podstawie zmiennej typu boolean w jednym z pól tablicy). Pętla kończyłaby się, gdyby nie odnaleziona żadnej logicznej zmiennej równej np. 0.
      • Gość: asdf Re: skrypty BAT - znak zastepujacy kazdy inny zna IP: *.bb.online.no 16.08.05, 20:34
        jemu chyba chodzi tylko o sposob zidentyfikowania kazdego folderu w ktorym chce
        stwozyc podfolder->to iz trzeba bedzie zastosowac algorytmy majace na celu
        wykonanie pozostalych funkcji (w sposob bezbledny) jest inna bajka.
        wiec *=dowolna ilosc dowolnych znakow, ?=dokladnie jeden dowolny znak.
        • amon-ra Re: skrypty BAT - znak zastepujacy kazdy inny zna 16.08.05, 21:34
          Oczywiście że tak - to właśnie mam na myśli :) Poza tym narzędzia Windows-owego Wiersza poleceń chyba nie oferują takiej możliwości, jak hurtowe zmienianie nazw plików wg z góry sprecyzowanego algorytmu.
          To mówienie i tak do niczego nie doprowadzi, dopóki ktoś nie przedstawi gotowego rozwiązania, czyli skompilowanego kodu źródłowego (mniejsza o to, w którym języku).
    • roar Re: skrypty BAT - znak zastepujacy kazdy inny zna 16.08.05, 21:14
      Może jako uniksiarz nie powinienem się wtryniać, ale nie macie tam pętli "for in"? Bo za jej pomocą to by była jedna linijka (przykład z basha):

      for i in LON*; do cd "$i"; mkdir katalog; cd ..; done

      ...a, nawet sprawdziłem w Google, jest. Z tym, że oczywiście inny syntax, więc więcej ci nie pomogę... :)
    • Gość: Jacek Re: skrypty BAT - znak zastepujacy kazdy inny zna IP: 66.167.20.* 16.08.05, 22:42
      napisze co wlasciwie chce zrobic:
      mam nastepujaca strukture katalogow:
      zalozmy jestesmy na dysku G:\

      tam mamy katalogi:
      A483948
      A549343
      A494343
      A535335
      A537303
      w kazdym z nich jest jeden katalog zaczynajacy sie od liter LONIM,czyli:
      LONIMxxxxxxxxx
      a potem nastepujaco: (troche inne nazwy katalogow niz w skrypcie)

      G:\
      A39434
      LONIMxxxxxxx
      losdfsf343
      D
      kat2
      kat3
      i tutaj sa logi, kilka plikow .log
      E
      kat5
      kat6
      dwa pliki plik1.txt i plik2.txt

      zadanie skryptu:!
      przekopiowac logi(za katalogu kat3) i przeniesc te dwa pliki(plik1.txt i
      plik2.txt) do folderu EDB, ktorego trzeba utworzyc w katalogu A39434.


      moje rozwiazanie problemu:

      a wiec wchodze przez wincmd do katalogu 'D' odpalam konsole i odpalam skrypt
      tak:

      CMD: skrypcik.bat A39434 g

      a oto skrypt:
      <
    • Gość: Jacek Re: skrypty BAT - znak zastepujacy kazdy inny zna IP: 66.167.20.* 17.08.05, 17:59
      no jak tam pomysly sie skonczyly?
Inne wątki na temat:
Pełna wersja