Pokaż wyniki od 1 do 3 z 3

Wątek: Pilny problem z plikiem wsadowym (WinNT)

  1. #1
    Bywalec Awatar Encor
    Dołączył
    Mar 2006
    Miasto
    Warszawa
    Wiek
    49
    Posty
    175

    Domyślnie Pilny problem z plikiem wsadowym (WinNT)

    Wiem, że nie o foto. Mam nadzieję, że mi admini wybaczą (pliiiz), ale potrzebuję pilnie pomysłu, bo mam zaćmienie kompletne.

    Potrzebuję pilnie napisać batcha, który na wszystkich kompach w domenie NT
    4.0 wyszuka i zrzuci do pliku wartość określonego podklucza rejestru.
    Ważne, żeby w pliku wynikowym była nazwa kompa, nazwa podklucza i szukana
    wartość. Ponieważ część kompów tego podklucza nie ma, w pliku wynikowym
    mają się znaleźć tylko wpisy kompów, które go mają.
    Napisałem coś takiego:

    @echo off
    echo Pobieranie nazw stacji w domenie
    for /f "skip=3 tokens=1" %%i in ('net view') do echo %%i >> kompy.txt

    echo Wyszukiwanie stacji z kluczem "HKLM\SOFTWARE\PROKOM Software
    SA\Common\adres_KSI_num_generatora"
    for /f %%i in (kompy.txt) do call :check %%i ksi_num_gen.txt

    :check
    set stacja=%1
    set plik_wynikowy=%2
    title Connecting to %stacja%

    REG query "HKLM\software\prokom software
    sa\common\adres_ksi_num_generatora" %stacja% | find
    "adres_KSI_num_generatora"


    ..... no i utknąłem. Za cholerę nie mogę wygłówkować, jak zrobić, żeby w
    ostatecznym pliku wynikowym wpisać wynik polecenia REG QUERY i jednocześnie
    W TYM SAMYM WIERSZU nazwę stacji.
    Reg query samo w sobie wywala nazwę stacji do której się podłącza (ale w osobnym wierszu), więc
    można albo korzystać z tego, albo bezpośrednio ze zmiennej %stacja% - tak
    przynajmniej kombinuję. Sęk w tym, że nie mogę wykombinować... a problem
    jest pewnie banalny (mam zaćmienie chyba)
    350D+grip, Sigma 24-60mm f/2,8 EX DG, 420EX, Lastolite Micro Apollo

    Lo, there do I see my father.
    Lo, there do I see my mother and my sister and my brother
    Lo, there do I see the line of my people back to the beginning.
    Lo, they do call to me. They bid me take my place among them
    In the halls of Valhalla where the brave may live forever.

  2. #2
    Pełne uzależnienie Awatar Tomasz Golinski
    Dołączył
    Jul 2004
    Miasto
    Białystok
    Wiek
    46
    Posty
    8 623

    Domyślnie

    Pierwszy pomysł: rób wpisy w stylu
    KOMP1
    klucz
    //
    KOMP2
    klucz
    //

    itd. a potem potraktuj to jakimś windowsowym gawkiem i doprowadz do zalecanej postaci.
    30D | 85/1.8 | 135/2 | 70-200/4 | T17-50/2.8 | 100-300/4.5-5.6 | 50/1.4 | 650 | 430EX | Sherpa 600r
    Zdjęcia - Iran, folk, jazz, wątek galeriowy


    FoFot.pl
    Canon IRC

  3. #3
    Pełne uzależnienie
    Dołączył
    Apr 2006
    Posty
    1 370

    Domyślnie

    Zrob login script. niech kazdy komp wykona skrypt, i wynik niech wykona sie gdzies na \\jakis_server\jakis_share niech kazdy komp jako wynikowy plik zamiast kompy.txt zrobi plik wynikowy ze zeminna %hostname%, czyli jak masz 20 kompow to niehc kazdy wrzuci do %hostname%.txt (musisz ja zdeklarowac w skrypcie - innaczej klapa. Masz wtedy w katalogu na serverez tyle plikow ile masz stacji z nazwami np. KOMP1.txt, KOMP2.txt i w nich twoje spiste - potem 1 linia z wierasza polecen i zcalaszpliki do 1 i masz to co chciales.

    To export all registry to file c:\all.reg, use the /e switch as follows:
    regedit /E c:\all.reg
    To export a specific registry key to file file.reg, use the /e switch as follows:
    regedit /E file.reg <registry_key>, for example
    regedit /E c:\hklm_run.reg "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Cur rentVersion\Run" will export list of Startup programs from Run section.
    Merge or import file.reg to Registry:
    regedit file.reg
    Create and replace an existing registry from a file file.reg:
    regedit /C file.reg
    For silent execution of Regedit command, use the /s parameter. If /S specified, Regedit will be operate quietly, without asking for confirmation.
    To delete specific registry key from the registry:
    Win 95,98,ME Regedit has switch /d, use it as follows:
    regedit /D <registry_key>, for example
    regedit /D "HKEY_CLASSES_ROOT\CLSID\{834261E1-DD97-4177-853B-C907E5D5BD6E}" will delete entry of Trojan CWS


    Win 2000, XP You can create .reg file and specify in it minus sign before the key name to delete (example - contents of sample file c:\del.reg):

    REGEDIT4
    [-HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Policies\System]

    Now if Regedit will be launched by command regedit c:\del.reg, the key HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Policies\System will be removed from the system registry.
    Win 95,98,ME There are several command line switches for specifying location of User.dat (/L) and user name (/R):
    regedit /L:c:\windows\user.dat /e c:\test.reg
    Ostatnio edytowane przez mor_feusz ; 24-07-2006 o 15:47

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •