Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Skrypt Batch - odczyt z pliku

brus9500 18 Paź 2016 17:36 492 2
  • #1 18 Paź 2016 17:36
    brus9500
    Poziom 8  

    Witam,
    Mam pewien problem ze skryptem bat.
    Zachciało mi się zautomatyzować proces restartu karty sieciowej.
    Ukleciłem sobie tak programik:

    Code:

    (...)
    del siec.txt
      cls
        netsh interface show interface
        echo Podaj nazwe polaczenia sieciowego.
        set/p "nazwa_polaczenia=:"
        echo %nazwa_polaczenia%>> siec.txt
         set /p nazwa_zmiennej=<"siec.txt"
        echo Aktualnie wybrane polaczenie to: %nazwa_zmiennej%
        cls
          set /p zmienna_siec=<"siec.txt"
          netsh interface set interface "%zmienna_siec%" admin=disable
          cls
          timeout /t 5
          netsh interface set interface "%zmienna_siec%" admin=enable
         (...)


    Mam dwa połączenia sieciowe: "Połączenie lokalne 1", "Połączenie lokalne 1-2". Zapisując do pliku nazwę "Połączenie lokalne 1-2", "Połączenie lokalne aaaaa", "Połączenie lokalne 11", "Połączenie lokalne 2 1", skrypt działa poprawnie ( w pliku znajduje się to co wpisałem w okienku cmd). Natomiast po wpisaniu "Połączenie lokalne 1", "Połączenie lokalne 2" do pliku zapisuje się pusta linijka.
    Zauważyłem, że jeśli ustawię parametr w ten sposób:
    Code:
    echo %nazwa_polaczenia% >> siec.txt ( ze spacją, przed ">>")

    to w pliku mam ładnie wpisaną nazwę połączenia ale ze znakiem spacji - wtedy to cały skrypt nie znajduje takiego połączenia sieciowego i nie uruchamia programu.
    W czym tkwi problem? Czy da się jakoś inaczej pominąć spację w pliku tekstowym, nie korzystając z zniwelowania spacji w kodzie (%ziemienna%>>) ?

    Uprzedzam, że używam tego rozwiązania do innych "mini skryptów", wolałbym nie korzystać z innych języków programowania. Nie chcę iść na łatwiznę i wpisać do kodu programu (pomijając zmienną) "Połączenie lokalne 1", bo nie o to tutaj chodzi.
    Liczę, że znajdzie się jakiś fachman, który będzie mógł mi w prosty sposób pomóc. Zastanawiałem się jeszcze czy nie użyć jakiejś pętli, która będzie kasować spację w pliku...

    0 2
  • Pomocny post
    #2 19 Paź 2016 06:57
    WojtasJD
    VIP Zasłużony dla elektroda

    >> siec.txt echo %nazwa_polaczenia%

    0
  • #3 20 Paź 2016 17:16
    brus9500
    Poziom 8  

    Dokładnie o coś takiego mi chodziło. Krótko, zwięźle i na temat. Dzięki za pomoc :)

    0