Pliki wsadowe i zawarcie zmiennej w skrócie do owego pliku


(Erges Maxie) #1

Witam :slight_smile:

Ja wiem, że pliki wsadowe są, jakby to powiedzieć - passé. No, ale znalazłem świetne zastosowanie do tych plików :slight_smile:

Do rzeczy. Mam plik wsadowy odpowiedzialny za zapisywanie zapisów z gier, opcji z aplikacji (np. z folderu Roaming w %appdata%) do folderu na drugiej partycij, tej, której raczej nie formatuję :slight_smile: .

Problem wygląda następująco: chcę aby przy starcie systemu odpalał się ten plik wybierał od razu opcję zapisu Backup'a oraz wyrażał zgodę na to (bo tak zrobiłem w tym pliku). No więc czy da się, a jeżeli to jak to ma wyglądać, zawarcie jakiejś zmiennej w skrócie do pliku. Tzw. tworzę skrót, ścieżka wyglądałaby następująco "D:/Backup.bat" autostart=1 - zrobiłbym by reagowało w odpowiedni sposób na tą zmienną czyli autostart :stuck_out_tongue:

Z góry przepraszam za stylistykę postu, tak po prostu mam ;/ Dziękuję również za wszelkie zainteresowanie tematem i pozdrawiam, Maxie.


(bachus) #2

Zrozumiałem, że chodzi Ci o parametry… Nie możesz wyciągać z parametrów? Przy wywoływaniu batcha %0 to nazwa wywoływanego pliku, %1 pierwsza zmienna, %2 druga zmienna po odstępie itd. Wywołaj sobie batcha takiego z parametrem:

nazwa.bat jakis tekst

W pliku:

echo nazwa pliku to %0 pierwszy parametr to %1

Teraz możesz wywołać plik np.: backup.bat auto i wykorzystać parametr do IF / ELSE, czy jak Ci wygodniej…


(Rolek0) #3

W pliku wsadowym masz dostęp do argumentów

%0 - nazwa pliku wsadowego, %1 - pierwszy argument, %2 - drugi argument, itd.

Poleceniem shift możesz przesunąć argumenty w lewo, tzn. %0 <- %1, %1 <- %2, itd.

Jeśli dasz shift /n to zostawi pierwsze n argumentów niezmienionych, a resztę przesunie.

Przykład

@echo off

echo %0 %1 %2

shift

echo %0 %1 %2

shift /2

echo %0 %1 %2

Uruchomiony x.bat a b c d e wypisze

x.bat a b

a b c

a b d

PS. Ehhh… sekundy… :wink:


(Erges Maxie) #4

Dzięki wielkie, tego szukałem :slight_smile: Jesteście wielcy.