01 cw pliki wsadowe 4id 2792

background image

Rozdzia 2
System WINDOWS XP – podstawowe polecenia DOS

Pracownia systemów komputerowych – Piotr Cymerman

41

Przyk adowe rozwi zania poprzednich zada (zad. 4 i zad. 5)

Zadanie 4.

@ECHO OFF
REM
**********************************************************
REM Tworzenie folderow podanych jako argumenty pliku wsadowego
REM Obsluga bledow
REM Pomoc dla polecenia
REM **********************************************************

IF "%1"=="/?" GOTO pomoc

:start
IF "%1"=="" GOTO koniec
IF EXIST %1 ECHO Folder [%1] juz istnieje
IF NOT EXIST %1 GOTO utworz
SHIFT
GOTO
start

:utworz
MD %1
ECHO Utworzono folder [%1]
SHIFT
GOTO
start

:pomoc
ECHO Skladnia polecenia:
ECHO 12 [/?] nazwa_folderu1 nazwa_folderu2 [...] nazwa_folderuN
ECHO _

:koniec

ród o 14. Tworzenie dowolnej liczby folderów podanych jako argumenty pliku wsadowego – 14.bat

background image

Rozdzia 2
System WINDOWS XP – podstawowe polecenia DOS

Pracownia systemów komputerowych – Piotr Cymerman

42

Zadanie 5.

@ECHO OFF
REM
Operacje na plikach tekstowych

IF "%1"=="/?" GOTO pomoc
IF "%1"=="" GOTO blad
IF "%1"=="/n" GOTO sprawdz_nowy
IF "%1"=="/u" GOTO usun
IF "%1"=="/c" GOTO sprawdz_kopiuj

:sprawdz_nowy
IF NOT "%1"=="/n" GOTO blad
SHIFT
IF
"%1"=="" GOTO blad

:plik
IF "%1"=="" GOTO koniec
ECHO _
IF EXIST %1.txt ECHO Plik [%1.txt] juz istnieje
IF NOT EXIST %1.txt GOTO utworz
SHIFT
GOTO
plik

:utworz
ECHO Wprowadz tekst do pliku [%1.txt]
ECHO Zakoncz edycje kombinacja CTRL+Z, a nastepnie ENTERem
COPY CON %1.txt
SHIFT
GOTO
plik

:usun
IF NOT EXIST *.txt ECHO Brak plikow tekstowych w folderze biezacym
IF EXIST *.txt ECHO Pliki tekstowe usuniete z folderu biezacego
IF EXIST *.txt DEL *.txt
GOTO koniec

:sprawdz_kopiuj
SHIFT
IF
"%1"=="" GOTO blad

:kopiuj
IF "%1"=="" GOTO koniec
ECHO _
IF NOT EXIST %1.txt ECHO Brak pliku [%1.txt]
IF EXIST %1.txt ECHO Kopiuje plik [%1.txt] z nazwa [%1(kopia).txt]
IF EXIST %1.txt COPY %1.txt %1(kopia).txt
SHIFT
GOTO
kopiuj

:blad
ECHO Brak argumentow!
ECHO _

:pomoc
ECHO Skladnia polecenia:
ECHO Tworzenie w biezacym folderze plikow tekstowych:
ECHO 15 [/n] nazwa1 nazwa2 [...] nazwaN
ECHO _
ECHO Usuwanie z folderu biezacego wszystkich plikow tekstowych
ECHO 15 [/u]
ECHO _
ECHO Kopiowanie w folderze biezacym plikow tekstowych
ECHO z dodaniem tekstu "(kopia)" do nazwy kopiowanego pliku
ECHO 15 [/c] nazwa1 nazwa2 [...] nazwaN
ECHO _

:koniec

ród o 15. Zadanie 5 (15.bat) – plik wsadowy z parametrami, argumentami i obs ug b dów

background image

Rozdzia 2
System WINDOWS XP – podstawowe polecenia DOS

Pracownia systemów komputerowych – Piotr Cymerman

43

wiczenie

6. Polecenie CALL

Przeanalizuj poni szy kod ( ród o 16) – zwró uwag , e jest podobny do kodu pliku

wsadowego

15.bat

( ród o 15) z wyj tkiem miejsc, w których linie s w kolorze niebieskim:

@ECHO OFF
REM
**********************************************************
REM Operacje na plikach wsadowych
REM **********************************************************

IF "%1"=="/?" GOTO pomoc
IF "%1"=="" GOTO blad
IF "%1"=="/n" GOTO sprawdz_nowy
IF "%1"=="/u" GOTO usun
IF "%1"=="/c" GOTO sprawdz_kopiuj

:sprawdz_nowy
IF NOT "%1"=="/n" GOTO blad
SHIFT
IF
"%1"=="" GOTO blad

:plik
IF "%1"=="" GOTO koniec

CALL 16nowy.bat %1

SHIFT
GOTO
plik

:usun

CALL 16usun.bat

GOTO koniec

:sprawdz_kopiuj
SHIFT
IF
"%1"=="" GOTO blad

:kopiuj
IF "%1"=="" GOTO koniec

CALL 16kopiuj.bat %1

SHIFT
GOTO
kopiuj

:blad
ECHO Brak argumentow!
ECHO _

:pomoc
ECHO Skladnia polecenia:
ECHO Tworzenie w biezacym folderze plikow tekstowych:
ECHO 16 [/n] nazwa1 nazwa2 [...] nazwaN
ECHO _
ECHO Usuwanie z folderu biezacego wszystkich plikow tekstowych
ECHO 16 [/u]
ECHO _
ECHO Kopiowanie w folderze biezacym plikow tekstowych
ECHO z dodaniem tekstu "(kopia)" do nazwy kopiowanego pliku
ECHO 16 [/c] nazwa1 nazwa2 [...] nazwaN
ECHO _

:koniec

ród o 16. Zawarto pliku 16.bat – u ycie polecenia CALL

background image

Rozdzia 2
System WINDOWS XP – podstawowe polecenia DOS

Pracownia systemów komputerowych – Piotr Cymerman

44

Mo na si domy li , e z miejsca, oznaczonego niebieskim kolorem zosta wyci ty

fragment kodu i umieszczony w odpowiednich plikach (patrz na nazwy przy poleceniu

CALL

w ródle 16). Zapisz ten kod ród owy jako plik

16.bat

.

Polecenie

CALL

do cza (w tym przypadku z tego samego folderu co plik

16.bat

)

odpowiednie pliki, realizuj ce konkretne zadanie. Przyk adowy plik

16nowy.bat

mo esz

obejrze poni ej ( ród o 17):

@ECHO OFF
REM **********************************************************
REM Tworzenie w biezacym folderze plikow tekstowych
REM **********************************************************

IF "%1"=="/?" GOTO pomoc
IF "%1"=="" GOTO blad

:start
IF "%1"=="" GOTO koniec
ECHO _
IF EXIST %1.txt ECHO Plik [%1.txt] juz istnieje
IF NOT EXIST %1.txt GOTO utworz
SHIFT
GOTO start

:utworz
ECHO Wprowadz tekst do pliku [%1.txt]
ECHO Zakoncz edycje kombinacja CTRL+Z, a nastepnie ENTERem
COPY CON %1.txt
SHIFT
GOTO start

:blad
ECHO Brak argumentow!
ECHO _

:pomoc
ECHO Skladnia polecenia:
ECHO Tworzenie w biezacym folderze plikow tekstowych:
ECHO 16nowy [/?] nazwa1 nazwa2 [...] nazwaN
ECHO _

:koniec

ród o17. Zawarto pliku 16nowy.bat.

Dlaczego w tym pliku jest wi cej ni zosta o usuni te ze ród a 15? Dlatego, e ten

plik powinien by autonomiczny, tzn. powinien oprócz tworzenia nowych plików tekstowych,
zapewnia równie obs ug b dów oraz udost pnia pomoc w sytuacji, gdyby chcia
uruchomi go oddzielnie. Program

16.bat

czy w sobie trzy zadania (tworzenie, usuwanie i

kopiowanie plików tekstowych), obs uguje b dy sk adni, zawiera pomoc, ale pliki do czane
do tego kodu równie takie zadania powinny spe nia . Zauwa , e z poziomu pliku

16.bat

nie

ma mo liwo ci uruchomienia pliku

16nowy.bat

bez argumentu (bo obs uga b dów z poziomu

pliku g ównego to zapewnia), wi c implementacja tego zadania w pliku

16nowy.bat

wydawa aby si zb dna – tak, je li mia by by to tylko przyk ad dzia ania polecenia

CALL

, ale

je li ma by to plik autonomiczny, zachowuj cy zasad „idiotoodporno ci”, to takie problemy
musz by w nim rozwi zywane.

Je li to zrozumia

to nie b dziesz mia problemów z napisaniem autonomicznych

plików

16usun.bat

(bez argumentowy, ale z pomoc ) oraz

16kopiuj.bat

(z obs ug

argumentów, z pomoc ), tak aby dzia

y równie z plikiem

16.bat

( ród o 16), a zarazem

ca

identycznie jak w zadaniu 5 (plik

15.bat

).

background image

Rozdzia 2
System WINDOWS XP – podstawowe polecenia DOS

Pracownia systemów komputerowych – Piotr Cymerman

45

wiczenie

7. Operator >>

Zapisz pliki

16.bat

,

16nowy.bat

,

16usun.bat

oraz

16kopiuj.bat

z odpowiednimi

nazwami

17*.bat

. Zmodyfikuj równie

ród o

17.bat

(oraz pomoc we wszystkich plikach),

tak aby odwo ywa y si do plików

17*.bat

. Dopisz do pliku g ównego (

17.bat

) linie

ze ród a 18 oznaczone kolorem niebieskim.

@ECHO OFF
REM **********************************************************
REM Operacje na plikach wsadowych
REM **********************************************************

ECHO *******************************************>>log.bak
DATE/T>>log.bak
TIME/T>>log.bak
ECHO ->>log.bak

IF "%1"=="/?" GOTO pomoc
IF "%1"=="" GOTO blad
.
.
.

:koniec

ród o 18. Fragment pliku 17.bat

Dzi ki operatorowi przekierowania

>>

b

dodawane (za ka dym razem w nowej linii)

odpowiednie wpisy do pliku

log.bak

, w który b dzie zapisana historia operacji na plikach

tekstowych przy u yciu pliku wsadowego

17.bat

. Je li plik

log.bak

nie istnieje to zostanie

samoczynnie utworzony i przy ka dej operacji aktualizowany. Dowiedz si (wykorzystuj c
pomoc do polece ) co oznacza parametr

/T

w poleceniach

DATE

i

TIME

.

Teraz samodzielnie dopisz przekierowywanie do pliku

log.bak

w programach

17nowy.bat

,

17usun.bat

oraz

17kopiuj.bat

, tak aby po kolejno wydawanych poleceniach jak

na rys. 2.2.51 plik

log.bak

mia posta jak w ródle 19.

Rys. 2.2.51. Kolejne polecenia z u yciem pliku 17.bat

background image

Rozdzia 2
System WINDOWS XP – podstawowe polecenia DOS

Pracownia systemów komputerowych – Piotr Cymerman

46

*******************************************
2010-10-27
00:46
-
Utworzono plik [1.txt]
Utworzono plik [2.txt]
Utworzono plik [3.txt]
*******************************************
2010-10-27
00:46
-
Utworzono plik [1(kopia).txt]
Nie skopiowano pliku [4.txt]
Utworzono plik [3(kopia).txt]
*******************************************
2010-10-27
00:48
-
Pliki tekstowe usuniete z folderu biezacego
*******************************************
2010-10-27
00:48
-

Brak plikow do usuniecia

ród o 19. log.bak - zapisana historia operacji na plikach tekstowych jak na rys. 2.2.51

Zadanie 6. Operacje na plikach i folderach

Napisz pliki wsadowe spe niaj ce zadania:

1.

18news.bat

– tworzy dowoln ilo nowych plików tekstowych w podfolderze folderu

bie cego – je li folder nie istnieje to musi zosta utworzony. Sk adnia polecenia:

18news folder plik1 plik2 … plikN

Oczywi cie obs uga b dów, pomoc itd. musi by zrealizowana.

2.

18backup.bat

– tworzy kopie plików tekstowych ze wskazanego podfolderu w folderze

bie cym, zapisuj c je z tak sam nazw , ale z rozszerzeniem

.bak

. Dodatkowo nale y

ustawi dla wszystkich kopii (pliki

*.bak

) atrybut

Tylko do odczytu

. Sk adnia

polecenia:

18backup folder plik1 plik2 … plikN

Podobnie jak w pkt. 1 wszelka obs uga b edów oraz pomoc musi by zaimplementowana.

3.

18delete.bat

– usuwa ze wskazanego podfolderu w folderze bie cym wszystkie pliki

z rozszerzeniem

*.bak

, których nazwa zaczyna si od litery przekazanej jako argument.

Sk adnia polecenia:

18delete folder literka

Równie ten plik powinien by „idiotoodporny”.

4. Je li wszystko b dzie dzia

, napisz plik g ówny

18.bat

, który wywo ywany

z odpowiednim parametrem i argumentami b dzie realizowa zadania z pkt. od 1 do 3 –
wykorzystaj oczywi cie pliki

18news.bat

,

18.backup.bat

oraz

18delete.bat

i polecenie

CALL

. Wszelkie operacje powinny by rejestrowane w pliku

historia.txt

(podobnie jak

w wiczeniu 6 w pliku

log.bak

). Ten program równie powinien obs ugiwa sytuacje

wyj tkowe oraz powinien zawiera pomoc.

background image

Rozdzia 2
System WINDOWS XP – podstawowe polecenia DOS

Pracownia systemów komputerowych – Piotr Cymerman

47

Przyk adowe wywo ania:

18 /n folder plik1 plik2 ... plikN

– tworzenie plików tekstowych we wskazanym

podfolderze folderu bie cego (je li nie istnieje to musi by prze plik wsadowy
utworzony)

18 /b folder plik1 plik2 … plikN

– tworzenie kopii istniej cych plików tekstowych

(ta sama nazwa, rozszerzenie .bak) we wskazanym podfolderze

18 /d folder literka

– usuwa ze wskazanego podfolderu wszystkie pliki

.bak

z nazw

zaczynaj

si na

literk


Wyszukiwarka

Podobne podstrony:
01 cw pliki wsadowe 4
01 cw pliki wsadowe 1
dos pliki wsadowe
Pliki wsadowe komendy
01 CW zadania RPP weid 2793
Pliki wsadowe
01 ĆW. APARATU ARTYKULACYJNEGO , ĆW
Pliki Wsadowe
01, F CW 8, · Cel ćwiczenia:
cw 6 pliki
Pliki Wsadowe Systemu DOS, Informatyka, DOS
Pliki wsadowe systemu MS
zagadnienia ćw, pliki zamawiane, edukacja
pliki wsadowe1, Szkoła, Systemy Operacyjnie i sieci komputerowe, systemy, semestr I, BACZE, pliki ba
SO Pliki Wsadowe wykonywanie podstawowych operacji na funkcjach
Pliki wsadowe komendy
Pliki wsadowe, partycja, sektor, klaster, FAT, NTFS

więcej podobnych podstron