«

»

Lis 03

Wydrukuj to Wpis

Przykładowe kolokwium (MS DOS)

przykadowe-kolokwium-pliki-wsadowe

W tym artykule są rozwiązania dziewięciu zadań z przykładowego kolokwium z plików wsadowych. Aby wykonać przykłady należy nadać im nazwę z rozszerzeniem bat a następnie w katalogu bieżącym wpisać komendę będącą nazwą pliku wsadowego.

1.Napisać plik wsadowy myren1.bat, który zmieni nazwę pliku (np. lista.txt) na taką samą, ale z innym rozszerzeniem.
Rozwiązania zadania:

1
2
3
4
5
6
7
8
9
10
@rem Plik wsadowy, ktory zmieni rozszerzenie pliku .txt na .bat
@echo off
if exist test.txt (
		ren test.txt test.bat
		echo Plik test.txt zostal zamieniony na test.bat
) else (
echo Plik test.txt nie instnieje!
)			
 
@echo on

2.Napisać plik wsadowy mycopy1.bat, który połączy dwa dowolnie wybrane pliki w jeden plik o nazwie wynik.txt.
Rozwiązania zadania:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
@rem Plik wsadowy, ktory polaczy dwa dowolnie wybrane 
@rem pliki w jeden plik o nazwie wynik.txt. 
 
@echo off
if not exist "%1" goto error1
if not exist "%2" goto error2
echo wynik %1 > wynik.txt
type %1>>wynik.txt
echo. >> wynik.txt
echo. >> wynik.txt
echo wynik %2 >> wynik.txt
type %2>>wynik.txt
echo Zawartosc plikow %1 i %2 zostala zapisana do pliku wynik.txt
goto end
 
:error1
echo Brak pliku %1!
goto end
:error2
echo Brak pliku %2!
 
:end
 
@echo on

3.Napisać plik wsadowy myren2.bat, który zamieni zawartość dwóch dowolnie wybranych plików.
Rozwiązania zadania:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@rem Plik wsadowy, ktory zamieni zawartosc dwoch dowolnie wybranych plikow.
@echo off 
if not exist %1 goto error1
if not exist %2 goto error2
ren %1 plik1.txt
ren %2 plik2.txt
ren plik1.txt %2
ren plik2.txt %1
echo Pliki zostaly zamienione
goto end
 
:error1
echo Brak pliku %1!
:error2
echo Brak pliku %2!
 
:end
 
@echo on

4.Korzystając m.in. z poleceń find oraz sort napisać plik wsadowy mydir.bat, który wyświetli zawartość katalogu bieżącego.
a. na wydruku powinny być widoczne tylko pliki i katalogi.
b. wydruk powinien zawierać w pierwszej kolejności listę plików a następnie listę katalogów.
c. zarówno pliki jak i katalogi należy posortować alfabetycznie.
d. nie wolno korzystać z żadnych opcji polecenia dir, można natomiast skorzystać z tymczasowych plików pomocniczych.
Rozwiązania zadania:

1
2
3
4
5
6
7
8
9
10
11
@rem Korzystajac z polecen find oraz sort, ktory wyswietli zawartosc katalogu biezacego.
 
@echo off
 
echo Pliki
for %%i in (*.*) do find "%%i" "%%i" | sort
echo.
echo Katalogi
for /d %%i in (*) do find "%%i" "%%i" | sort
 
@echo on

5.Napisać plik wsadowy mycopy2.bat służący do tworzenia kopii pliku pod inną nazwą, przyjmując następujące założenia:
a. plik działa tylko w przypadku gdy został uruchomiony z dwoma różnymi argumentami,
b. jeżeli plik o takiej nazwie jak nazwa kopii już istnieje, to nie wykonujemy kopiowania.
Rozwiązania zadania:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@rem Plik wsadowy, sluzacy do tworzenia kopii pliku pod inna nazwa.
 
@echo off
if not exist %1 (
		goto error1 
) else (
	if "%2" =="" goto error2
	if exist "%2" goto error3
	copy %1 %2
	echo Kopia %2 zostala utworzona
	goto end
	)
 
:error1
echo Brak pliku %1!
goto end
:error2
echo Plik nie moze byc bez nazwy!
goto end
:error3
echo Plik z taka nazwe juz istnieje!
 
:end
 
@echo on

6.Napisać plik wsadowy myren3.bat służący do zmiany nazwy na nazwę podaną, przyjmując następujące założenia:
a. plik działa tylko w przypadku gdy został uruchomiony z dwoma argumentami,
b. jeżeli oba argumenty są takie same, to jeśli plik istnieje nie wykonujemy żadnych czynności, jeśli natomiast pliku nie ma wypisujemy komunikat o błędzie,
c. jeżeli plik o takiej nazwie jak nowa nazwa pliku już istnieje, to wypisujemy komunikat o błędzie.
Rozwiązania zadania:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@rem Plik wsadowy, sluzacy do zmiany nazwy na nazwe podana
 
@echo off
if not exist "%1" (
		echo  Blad: "%1" nie istnieje!
		goto end
		)
if not exist "%2" ( 
		if "%2"=="" goto end
		ren %1 %2
		echo Nazwa pliku %1 zostala zmieniona na %2.
		) else ( 
			echo Blad: "%2" juz istnieje! 
		)
:end
 
@echo on

7.Napisać plik wsadowy mycopy3.bat służący do tworzenia kopii pliku pod inną nazwą, przyjmując następujące założenia:
a. plik może być uruchomiony z dowolną ilością argumentów,
b. jeżeli nie podano argumentów wypisujemy składnię,
c. jeżeli pierwszy argument jest równy „/?” wypisujemy informację o przeznaczeniu i składnię,
d. jeżeli podano argumenty i pierwszy z nich nie jest równy „/?” to próbujemy wykonać kopiowanie gdy podano dokładnie dwa różne argumenty, w przeciwnym wypadku (gdy podano więcej niż dwa, gdy podano jeden argument lub gdy argumenty są dwa, ale takie same) wypisujemy komunikat o błędzie,
e. jeżeli plik o takiej nazwie jak nazwa kopii już istnieje, to nie wykonujemy kopiowania.
Rozwiązania zadania:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
@rem Plik wsadowy, sluzacy do tworzenia kopii pliku pod inna nazwa 
@echo off
if "%1"=="" goto help
if exist %1 (
		if "%2"=="" goto help
		if exist %2 goto error1
		copy %1 %2
		echo Kopia %2 zostala utworzona
		goto end
) else (
			if "%1"=="/?" goto help
			echo "%1" nie istnieje!
			goto end
)
 
:error1 
echo plik pod nazwa %2 juz istneje
goto end
 
:help
echo Dos Program, sluzy do tworzenia kopii pliku
echo Skladnia: mycopy3.bat "Nazwa pliku" "Nazwa kopii pliku" [Enter]
 
:end
 
@echo on

8.Napisać plik wsadowy myren4.bat służący do zmiany nazwy pliku pod podaną, przyjmując następujące założenia:
a. plik może być uruchomiony z dowolną ilością argumentów,
b. jeżeli nie podano argumentów wypisujemy składnię,
c. jeżeli pierwszy argument jest równy „/?” wypisujemy informację o przeznaczeniu i składnię,
d. jeżeli podano argumenty i pierwszy z nich nie jest równy „/?” to próbujemy zmienić nazwę gdy podano dokładnie dwa argumenty, w przeciwnym wypadku (gdy podano więcej niż dwa, gdy podano jeden argument lub gdy argumenty są dwa, ale takie same) wypisujemy komunikat o błędzie,
e. jeżeli plik o takiej nazwie jak nazwa kopii już istnieje, to usuwamy go, a następnie wykonujemy zmianę nazwy pliku,
f. jeżeli argumenty są dwa i są takie same oraz plik istnieje, to efekt powinien być taki, jak gdyby zmieniono nazwę pliku.
Rozwiązania zadania:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
@rem Plik wsadowy, sluzacy do zmiany nazwy pliku
 
 
@echo off
if "%1"=="" goto help
if "%1"=="/?" goto help
if not exist %1 goto error2
if "%2"=="" goto error1
if "%1" == "%2" goto finish
if exist %2 del %2
ren %1 %2
:finish
echo Plik %1 zostal zmieniony na %2.
goto end
:error2
echo Plik %1, nie istnieje!
goto end
 
:error1
echo Nowa nazwa pliku nie moze byc pusta
goto end
 
:help
echo Dos Program sluzacy do zmiany nazwy pliku
echo Skladnia: myren4.bat "Nazwa pliku" "Nowa nazwa pliku" [Enter]
 
:end
 
@echo on

9.Napisz plik wsadowy mybat.bat, który zrealizuje poniższe zadania
a. Utwórz na dysku C katalog, którego nazwa jest utworzona z Twojego nazwiska
b. W katalogu utworzonym w p1 utwórz plik towary.txt, który zawiera 10 wierszy z następującymi informacjami: Nazwa towaru ilość cena data zakupu
c. Posortuj dane wprowadzone w p2 wg nazwy i zapisz wynik sortowania w pliku towary1.txt (w katalogu z p1)
d. W katalogu z p1 utwórz plik dysk.txt zawierający wynik polecenia DIR dla katalogu głównego dysku c:\ posortowany wg nazwy pliku
e. Z pliku dysk.txt wybierz opisy tych plików, które zostały utworzone w październiku i listopadzie tego roku , zapisz je w pliku dysk1.txt
f. W pliku dysk2.txt zapisz opisy plików z katalogu WINDOWS posortowane wg rozszerzenia
g. Skopiuj katalog z p1 na dyskietkę.
Rozwiązania zadania:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
@echo off
rem Utworz katalog, ktorego nazwa jest utworzona z Twojego nazwiska
mkdir "C:\Nazwisko"
 
rem Utworz plik, ktory zawiera 10 wierszy z nastepujacymi informacjami: nazwa towaru, ilosc, cena, data zakupu
echo Jablko      1kg   2zl   02.01.2013> C:\Nazwisko\towary.txt
echo Arbuz       9kg   5zl   03.02.2013>> C:\Nazwisko\towary.txt
echo Malina      2kg   3zl   04.03.2013>> C:\Nazwisko\towary.txt
echo Ogorek      4kg   5zl   05.03.2013>> C:\Nazwisko\towary.txt
echo Pomidor     2kg   2zl   06.02.2013>> C:\Nazwisko\towary.txt
echo Banan       5kg   2zl   16.01.2013>> C:\Nazwisko\towary.txt
echo Pomarancza  5kg   5zl   10.05.2013>> C:\Nazwisko\towary.txt
echo Winogrona   7kg   40zl  15.04.2013>> C:\Nazwisko\towary.txt
echo Mandarynka  6kg   30zl  17.03.2013>> C:\Nazwisko\towary.txt
echo Kokos       10kg  50zl  20.06.2013>> C:\Nazwisko\towary.txt
 
rem Posortuj wprowadzone dane wg nazwy 
sort C:\Nazwisko\towary.txt > C:\Nazwisko\towary1.txt
 
rem Plik zawierajacy wynik polecenia DIR dla katalogu glownego dysku c:\ posortowany wg nazwy pliku
dir /n c:\ > C:\Nazwisko\dysk.txt
 
rem Wybierz opisy tych plikow, ktore zostaly utworzone w pazdzierniku i listopadzie tego roku
findstr "2013-10" C:\Nazwisko\dysk.txt > C:\Nazwisko\dysk1.txt
findstr "2013-11" C:\Nazwisko\dysk.txt >> C:\Nazwisko\dysk1.txt
 
rem Zapisz opisy plikow z katalogu WINDOWS posortowane wg rozszerzenia
dir /oe c:\windows > C:\Nazwisko\dysk2.txt
 
rem Skopiuj katalog C:\Nazwisko na dyskietke
copy C:\Nazwisko A:\
 
@echo on

Permalink do tego artykułu: http://tmall.com.pl/przykladowe-kolokwium-ms-dos/

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Możesz użyć tych znaczników i atrybutów HTMLa: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>