[DOS] Includowanie w pliku *.bat


(Gruchi) #1

Problem rozwiązany


(Hindol) #2

sprawdź polecenie call (wywołanie innego .bat z bata)

można by też tak:

zrób drugiego bata który będzie ci sklejał potrzebne rzeczy w 1 właściwy plik .bat

copy /b /y intro.bat+data.txt+finisz.bat gotowy.bat

gotowy.bat


(Gruchi) #3

cos takiego niestety mi nie przejdzie dlatego ze potrzebuje to w takiej formie jak napisalem powyzej :slight_smile:


([alex]) #4

Wczytaj dane z dane.txt wiersz po wierszu rozdzielając wg $ i dopisuj do pliku echo set %%i >>dane.txt.bat

wywołaj ten plik

call dane.txt.bat

i masz to w zmiennych środowiskowych


(Gruchi) #5

yyy nie bardzo rozumiem moglbym prosic twoj sposob w postaci kodu zrodlowego tak jak przedstawilem to w temacie, bylbym wdzieczny


([alex]) #6

@echo off

for /F %%i in (data.txt) do set %%i

rasdial “%$f1%” /disconnect

rem ping -n 20 127.0.0.1 >nul

rasdial “%$f1%” “%$f2%” “%$f3%”


(Gruchi) #7

Wszystko fajnie dane sa zdaje sie wczytywane poprawnie ale pojawia sie dziwny blad

Błąd 623 usługi Dostęp zdalny - System nie może odnaleźć wpisu książki telefonic

znej dla tego połączenia.


Aby uzyskać dalszą pomoc odnośnie tego błędu: Wpisz "hh netcfg.chm"

W pomocy kliknij Rozwiązywanie problemów, następnie Komunikaty o błędach,

po czym 623

Co ciekawe gdy dane sa wstawione normalnie a nie wczytywane z pliku wszystko jest ok macie jakies pomysly jak rozwiazac problem z wczytywaniem danych ?


([alex]) #8

Możliwe jest że ten set w pętli dodaje zbędny znak na koniec.

Spróbuj dać echo “%$f1%” po for, to zobaczysz.

Jeżeli tak jest to okrój wartość zmiennych o jeden znak za pomocą trzech poleceń set.


(Gruchi) #9

Przy takim czyms pojawia sie blad “w tym momencie echo bylo nieoczekiwane”

Odpalilem to samo jeszcze raz na echo on i wyszlo mi cos takiego bez bledu “w tym momencie echo bylo nieoczekiwane”

for echo "" /F %1 in do set %i

([alex]) #10

chodziło mi o echo po całym for:

for /F %%i in (data.txt) do set %%i

echo “%$f1%” “%$f2%” “%$f3%”

okrojenie o jeden znak:

set $f1=%$f1:~0,-1%


(Gruchi) #11

Problem rozwiązany


([alex]) #12

Tak jak ja podałem wczyta całość razem ze spacją. Pokaż co ty nakombinowałeś.


(Gruchi) #13

Problem rozwiązany


([alex]) #14

To zamień for

for /F “delims=@” %%i in (data.txt) do set %%i

zamiast znaku @ daj jakiś znak który na pewno w tym pliku się nie pojawi, np ten z kodem ascii 255

echo miało być tylko dla sprawdzenia czy nie masz przypadkiem jakichś dziwnych znaków w zmiennych.

Jeżeli masz dziwne znaki to obcinać trzeba wszystkie a nie tylko $f1


(Gruchi) #15

Problem rozwiazany wielkie dzieki za pomoc siedzialem nad tym kilka dni i myslalem ze wczytywanie plikow jest poprostu niemozliwe :slight_smile: