Копирование файлов в папки
I.Теоретическая часть
Операционная система, ОС (англ. operating system) — базовый комплекс компьютерных программ, обеспечивающий управление аппаратными средствами компьютера, работу с файлами, ввод и вывод данных, а также выполнение прикладных программ и утилит.
Командная строка - общий термин, подразумевающий собой сочетание терминальной программы и командной оболочки. Терминальная программа (или программа эмуляции терминала), это то, что вы видите на экране, когда работаете с командной строкой.
Команда - элементарная инструкция, директива как элемент типичного командного интерфейса различных программ и операционных систем.
Работа с файлами
Для создания файлов используем команду echo. Команда реализуется как: «echo Текст в файл(текст который будет содержать наш файл) > имя файла(указывается имя будущего файла с расширением)», если файл уже существует, то его содержание заменяется на «текст в файл».
Присоединение потоков
К файлам можно присоединить потоки, для этого надо прописать команду «echo содержимое потока > f1.txt:1». Для просмотра содержимого потока используем команду «more < f1.txt:1».
More - Последовательный вывод данных по частям размером в один экран.Echo - Вывод сообщений и переключение режима отображения команд на экране.
Копирование файлов в папки
Копирование файлов осуществляется с помощью команды copy.
сору - Копирование одного или нескольких файлов в другое место.
Команда for
Команда for позволяет выполнять программу или команду для нескольких файлов из указанного списка.
Операция set, if и goto
Операция SET, позволяет просмотреть на экране все заданные переменные среды, а операция GOTO предназначена для безусловного перехода на метку и операция IF позволяет производить привязки в зависимости от режима редактирования, используемого терминала, или приложения. Содержимое теста продолжается до конца строки; для его ограничения не требуются никакие знаки.
Переменная PATH
Переменная PATH определяет пути, по которым будет производится поиск исполняемых файлов, набранных в командной строке или запускаемой из графической оболочки.
II.Практическая часть
Задание №1
Где С –имя диска, md - создание директории, ud_MEN-директория (имя).
C:
md ud_MEN
md c:\uc_MEN\uc1
md c:\uc_MEN\uc1\uc11
md c:\uc_MEN \uc1\uc12
md c:\uc_MEN \uc1\uc13
md c:\uc_MEN\uc2
md c:\uc_MEN\uc2\uc21
md c:\uc_MEN\uc2\uc22
md c:\uc_MEN\uc2\uc22\uc221
md c:\uc_MEN\uc2\uc22\uc222
md c:\uc_MEN\uc2\uc22\uc223
md c:\uc_ MEN \uc2\uc23
md c:\uc_ MEN\uc3
md c:\uc_ MEN\uc3\uc31
md c:\uc_ MEN\uc3\uc32
md c:\uc_ MEN\uc3\uc33
md c:\uc_ MEN\uc3\uc33\uc331
Проделываем смену директории с помощью команды cd в директории ud MS.
cd ud_ MEN
ud_MEN >cd ud3
ud_ MEN \ud3>md ud332
ud_ MEN \ud3>md ud333
ud_ MEN \ud3>cd ..
ud_ MEN >cd ..
cd ud_ MEN
Для того чтобы посмотреть какой каталог мы создали прописываем операцию > tree.
C:\ud_ MEN >tree
C:\ud_ MEN >
Получаем следующий каталог:
Структура папок
Серийный номер тома: 2702-94BA
C:.
├───ud1
│ ├───ud11
│ ├───ud12
│ └───ud13
├───ud2
│ ├───ud21
│ ├───ud22
│ │ ├───ud221
│ │ ├───ud222
│ │ └───ud223
│ └───ud23
└───ud3
├───ud31
├───ud32
└───ud33
├───ud331
├───ud332
└───ud333
Из каталога нужно удалить директории ud331, ud332 и ud333, для этого используем команду rd- удаление директории:
C:\ud_ MEN >
C:\ud_ MEN >cd ud3
C:\ud_ MEN \ud3>cd ud33
C:\ud_ MEN \ud3\ud33>rd ud331
C:\ud_ MEN \ud3\ud33>rd ud332
C:\ud_ MEN \ud3\ud33>rd ud333
C:\ud_ MEN \ud3\ud33>tree
Структура папок
Серийный номер тома: 2702-94BA
C:.
├───UD1
│ ├───UD11
│ ├───UD12
│ └───UD13
├───UD2
│ ├───UD21
│ ├───UD22
│ │ ├───UD221
│ │ ├───UD222
│ │ └───UD223
│ └───UD23
└───UD3
├───UD31
├───UD32
└───UD33
Работа с файлами
С:\UD_ MEN >echo FILE1 > f1.txt
С:\UD_ MEN >echo FILE2 > f2.txt
С:\UD_ MEN >echo FILE3 > f3.txt
С:\UD_ MEN >echo FILE4 > f4.pas
С:\UD_ MEN >echo FILE5 > f5.pas
С:\UD_ MEN >echo FILE6 > f6.pas
С:\UD_ MEN >echo FILE7 > f7.cpp
С:\UD_ MEN >echo FILE8 > f8.cpp
С:\UD_ MEN >echo FILE9 > f9.cpp
С:\UD_ MEN >echo FILE10 > f10.bat
С:\UD_ MEN >echo FILE11 > f11.bat
С:\UD_ MEN >echo FILE12 > f12.bat
С:\UD_ MEN >echo FILE12 > f12.bat
С:\UD_ MEN >echo FILE13 > f13.bat
С:\UD_ MEN >echo FILE13 > f13.exe
С:\UD_ MEN >echo FILE14 > f14.exe
С:\UD_ MEN >echo FILE15 > f15.exe
С:\UD_ MEN >echo FILE16 > f16.gif
С:\UD_ MEN >echo FILE17 > f17.gif
С:\UD_ MEN >echo FILE18 > f18.gif
С:\UD_ MEN >echo FILE19 > f19.com
С:\UD_ MEN >echo FILE20 > f20.com
С:\UD_ MEN >echo FILE21 > f21.com
С:\UD_ MEN >echo FILE22 > f22.tmp
С:\UD_ MEN >echo FILE23 > f23.tmp
С:\UD_ MEN >echo FILE24 > f24.tmp
С:\UD_ MEN >dir
Том в устройстве D не имеет метки.
Серийный номер тома: 2702-94BA
Содержимое папки D:\ud_ MS
12.04.2008 10:45 <DIR> .
12.04.2008 10:45 <DIR> ..
12.04.2008 10:34 8 f1.txt
12.04.2008 10:39 9 f10.bat
12.04.2008 10:39 9 f11.bat
12.04.2008 10:40 9 f12.bat
12.04.2008 10:42 9 f13.exe
12.04.2008 10:42 9 f14.exe
12.04.2008 10:42 9 f15.exe
12.04.2008 10:43 9 f16.gif
12.04.2008 10:43 9 f17.gif
12.04.2008 10:43 9 f18.gif
12.04.2008 10:44 9 f19.com
12.04.2008 10:37 8 f2.txt
12.04.2008 10:44 9 f20.com
12.04.2008 10:44 9 f21.com
12.04.2008 10:45 9 f22.tmp
12.04.2008 10:45 9 f23.tmp
12.04.2008 10:45 9 f24.tmp
12.04.2008 10:37 8 f3.txt
12.04.2008 10:37 8 f4.pas
12.04.2008 10:38 8 f5.pas
12.04.2008 10:38 8 f6.pas
12.04.2008 10:39 8 f7.cpp
12.04.2008 10:39 8 f8.cpp
12.04.2008 10:39 8 f9.cpp
12.04.2008 10:18 <DIR> UD1
12.04.2008 10:18 <DIR> UD2
12.04.2008 10:19 <DIR> UD3
24 файлов 205 байт
5 папок 14 040 825 856 байт свободно
Присоединение потоков
C:\ud_ MEN >echo potok of file 1 > f1.txt:1
C:\ud_ MEN >echo potok of file 2 > f2.txt:2
C:\ud_ MEN >echo potok of file 3 > f2.txt:3
C:\ud_ MEN >more < f1.txt:1
potok of file 1
C:\ud_ MEN >more < f1.txt:2
potok of file 2
C:\ud_ MEN >more < f1.txt:3
potok of file 3
Копирование файлов в папки
C:\ud_ MEN >copy *txt d:\ud_ MEN \ud2\ud22\ud222
f1.txt
f2.txt
f3.txt
Скопировано файлов: 3.
C:\ud_ MEN >copy *gif d:\ud_ MEN \ud2\ud22\ud223
f16.gif
f17.gif
f18.gif
Скопировано файлов: 3.
C:\ud_ MEN >copy *pas d:\ud_ MEN \ud2\ud22\ud221
f4.pas
f5.pas
f6.pas
Скопировано файлов: 3.
Команда for
C:\ud_ MEN > FOR %c in (*.cpp *.pas) do copy %c C:\ud_ MEN \ud3\ud32\*.*
C:\ud_ MEN >copy f7.cpp C:\ud_ MEN \ud3\ud32\*.*
Скопировано файлов: 1.
C:\ud_ MEN >copy f8.cpp C:\ud_ MEN \ud3\ud32\*.*
Скопировано файлов: 1.
C:\ud_ MEN >copy f9.cpp C:\ud_ MEN \ud3\ud32\*.*
Скопировано файлов: 1.
C:\ud_ MEN >copy f4.pas C:\ud_ MEN \ud3\ud32\*.*
Скопировано файлов: 1.
C:\ud_ MEN >copy f5.pas C:\ud_ MEN \ud3\ud32\*.*
Скопировано файлов: 1.
C:\ud_ MEN >copy f6.pas C:\ud_ MEN \ud3\ud32\*.*
Скопировано файлов: 1.
Перемещение
С:\ud_ MEN >move *.cpp d:\ud_ MEN \ud1\ud12
С:\ud_ MEN \f7.cpp
С:\ud_ MEN \f8.cpp
С:\ud_ MEN \f9.cpp
С:\ud_ MEN >move *.bat d:\ud_MEN\ud1\ud13
С:\ud_ MEN \f10.bat
С:\ud_ MEN \f11.bat
С:\ud_ MEN \f12.bat
Все дерево
С:\ud_ MEN >tree /f
Структура папок
Серийный номер тома: 2702-94BA
D:.
│ f1.txt
│ f13.exe
│ f14.exe
│ f15.exe
│ f16.gif
│ f17.gif
│ f18.gif
│ f19.com
│ f2.txt
│ f20.com
│ f21.com
│ f22.tmp
│ f23.tmp
│ f24.tmp
│ f3.txt
│ f4.pas
│ f5.pas
│ f6.pas
│
├───ud1
│ ├───ud11
│ ├───ud12
│ │ f7.cpp
│ │ f8.cpp
│ │ f9.cpp
│ │
│ └───ud13
│ f10.bat
│ f11.bat
│ f12.bat
│
├───ud2
│ ├───ud21
│ ├───ud22
│ │ ├───ud221
│ │ │ f4.pas
│ │ │ f5.pas
│ │ │ f6.pas
│ │ │
│ │ ├───ud222
│ │ │ f1.txt
│ │ │ f2.txt
│ │ │ f3.txt
│ │ │
│ │ └───ud223
│ │ f16.gif
│ │ f17.gif
│ │ f18.gif
│ │
│ └───ud23
└───ud3
├───ud31
├───ud32
│ f4.pas
│ f5.pas
│ f6.pas
│ f7.cpp
│ f8.cpp
│ f9.cpp
│
└───ud33
Задание №2
Kom1.bat создает наш каталог на диске D:\ по первым буквам наших фамилий.
Kom1.bat
md С:\UD_MEN
md С:\UD_MEN\UD1
md С:\UD_MEN\UD1\UD11
md С:\UD_MEN\UD1\UD12
md С:\UD_MEN\UD1\UD13
md С:\UD_MEN\UD2
md С:\UD_MEN\UD2\UD21
md С:\UD_MEN\UD2\UD22
md С:\UD_MEN\UD2\UD23
md С:\UD_MEN\UD2\UD22\UD221
md С:\UD_MEN\UD2\UD22\UD222
md С:\UD_MEN\UD2\UD22\UD223
md С:\UD_MEN\UD3
md С:\UD_MEN\UD3\UD31
md С:\UD_MEN\UD3\UD32
md С:\UD_MEN\UD3\UD33
md С:\UD_MEN\UD3\UD33\UD331
md С:\UD_MEN\UD3\UD33\UD332
md С:\UD_MEN\UD3\UD33\UD333
Kom2.bat создает, копирует, перемещает и удаляет файлы.
Kom2.bat
echo FILE1 > f1.txt
echo FILE2 > f2.txt
echo FILE3 > f3.txt
echo FILE4 > f4.pas
echo FILE5 > f5.pas
echo FILE6 > f6.pas
echo FILE7 > f7.cpp
echo FILE8 > f8.cpp
echo FILE9 > f9.cpp
echo FILE10 > f10.bat
echo FILE11 > f11.bat
echo FILE12 > f12.bat
echo FILE12 > f12.bat
echo FILE13 > f13.bat
echo FILE13 > f13.exe
echo FILE14 > f14.exe
echo FILE15 > f15.exe
echo FILE16 > f16.gif
echo FILE17 > f17.gif
echo FILE18 > f18.gif
echo FILE19 > f19.com
echo FILE20 > f20.com
echo FILE21 > f21.com
echo FILE22 > f22.tmp
echo FILE23 > f23.tmp
echo FILE24 > f24.tmp
copy *.txt С:\UD_MEN\UD2\UD22\UD222\
copy *.gif С:\UD_MEN\UD2\UD22\UD223\
copy *.com С:\UD_MEN\UD2\UD22\UD221\
FOR %%c in (*.cpp *.pas) do copy %%c d:\UD_MEN\UD3\UD32\*.*
move *.cpp C:\UD_MEN\UD1\UD12
move *.exe C:\UD_MEN\UD1\UD13
del *.tmp
Задание №3
Kom32.bat
echo %0
echo %1
echo %2
if "%1%" == "" goto M1
if "%2%" == "" goto M1
set p1=%1
set p2=%2
set /A p3=p1+p2
echo %p3% > %0_Log1.txt
goto M2
:M1
echo % absent
goto M3
:M2
echo % happy end
:M3
Вывод: мы научились работать в командной строке (создавать каталоги, файлы, выводить дерево каталога и т.д.).