Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаб2Отчет

.docx
Скачиваний:
143
Добавлен:
10.06.2015
Размер:
21.13 Кб
Скачать

1. Вывод на экран имен всех файлов с указанным расширением, находящихся в каталоге, имя которого задается при запуске командного файла первым параметром. Расширение файлов задается вторым параметром.

Командный файл

@ECHO OFF

DIR %1\*.%2

Результат

C:\Users\InsaNity>1.bat C:\Windows exe

Том в устройстве C не имеет метки.

Серийный номер тома: 5E46-602D

Содержимое папки C:\Windows

21.11.2010 07:24 71 168 bfsvc.exe

25.02.2011 10:19 2 871 808 explorer.exe

14.07.2009 05:39 15 360 fveupdate.exe

14.07.2009 05:39 733 696 HelpPane.exe

14.07.2009 05:39 16 896 hh.exe

14.07.2009 05:39 193 536 notepad.exe

14.07.2009 05:39 427 008 regedit.exe

11.02.2012 10:36 67 072 splwow64.exe

11.06.2009 01:41 49 680 twunk_16.exe

14.07.2009 05:14 31 232 twunk_32.exe

14.07.2009 05:14 9 728 winhlp32.exe

14.07.2009 05:39 10 240 write.exe

12 файлов 4 497 424 байт

0 папок 110 367 490 048 байт свободно

2. Среди введенных с клавиатуры целых чисел (использовать SET /P) найти наибольшее и наименьшее. Признак конца вводазнак -.

Командный файл

@ECHO OFF

:BegLoop

SET /P Number=enter number

IF %number% ==- GOTO ExitLoop

IF NOT DEFINED MIN SET MIN=%number%

IF NOT DEFINED MAX SET MAX=%number%

IF %number% LEQ %MIN% SET MIN=%number%

IF %number% GEQ %MAX% SET MAX=%number%

GOTO BegLoop

:ExitLoop

ECHO Min = %MIN%

ECHO Max = %MAX%

Результат

C:\Users\InsaNity>2.bat

enter number 12

enter number 43

enter number 11

enter number 9

enter number -

Min = 9

Max = 43

3. В заданном каталоге и его подкаталогах найти общее количество подкаталогов. На экран вывести только требуемый результат.

Командный файл

@ECHO OFF

SET /A kol = 0

FOR /R %1 %%f IN (.) DO SET /A kol = kol + 1

Echo number of subdirectories: %kol%

Результат

C:\Users\InsaNity>3.bat C:\Windows

number of subdirectories: 19494

4. В каталогах, имена которых заданы первым и вторым параметрами командного файла, найти и вывести на экран имена файлов (расширения могут быть любые), присутствующие как в первом, так и во втором каталоге. Следует использовать только один оператор FOR.

Командный файл

@ECHO OFF

FOR %%i IN (%1\*.*) DO (IF EXIST %2\%%~NXi ECHO %%~NXi)

Результат

C:\Users\InsaNity>4.bat C:\qq C:\ww

01.jpg

02.jpg

setupact.log

setuperr.log

5. Вычисление и вывод на экран значения факториала целого числа, задаваемого при запуске КФ. Предусмотреть проверку заданного значения и при задании отрицательного значения или значения, превышающего максимально возможную величину, выводить соответствующие сообщения. Для проверки правильности вычислений использовать калькулятор.

Командный файл

@ECHO OFF

IF %1 LEQ 0 GOTO Exit

IF %1 GEQ 50 GOTO Exit

SET /A n =%1

SET /A f=%1

:BegLoop

IF %n% == 1 GOTO Loop

SET /A n = n-1

SET /A f = f*n

GOTO BegLoop

:Loop

ECHO %1!=%f%

Exit /b

:Exit

ECHO incorrect parameter

Exit /b

Результат

C:\Users\InsaNity>5.bat 4

4!=24

C:\Users\InsaNity>5.bat 100

incorrect parameter

6.1. Вывод списка DLL (хранящихся на доступном диске), созданных до 12.2008 размером до 12000 байтов.

6.2. Проверка наличия на диске в каталоге, указанном первым параметром КФ, файла Numbers.txt, содержащего 2 столбца целых чисел, столбцы располагаются с позиций 2 и 20 и отделены пробелами. Если файла нет – вывод сообщения. Если файл есть, создать новый файл, содержащий три столбца, в третий поместить сумму чисел из двух первых столбцов.

Командный файл

@ECHO OFF

IF NOT EXIST "%~1\Numbers.txt" ECHO File not found

FOR /F "tokens=1,2" %%i IN ('type "%~1\Numbers.txt"') DO (CALL :Loop %%i %%j)

PAUSE

EXIT

:Loop

SET /A x=%1+%2

ECHO %1 %2 %x%>>newfile.txt

EXIT /B

Исходный файл

12 23

45 67

34 43

123 56

1 678

Новый файл

12 23 35

45 67 112

34 43 77

123 56 179

1 678 679

C:\Users\InsaNity>dir D:\*.dll /s /a-d /-c /t:c

Том в устройстве D не имеет метки.

Серийный номер тома: 4834-46F2

Содержимое папки D:\Универ\Универ\Новая папка\BP\BP\Bin

04.02.2013 13:18 20992 ATI.DLL

04.02.2013 13:18 24932 DPMIMEM.DLL

04.02.2013 13:18 23552 DUAL8514.DLL

04.02.2013 13:18 175120 PBROWSER.DLL

04.02.2013 13:18 24064 STB.DLL

04.02.2013 13:18 16896 SVGA.DLL

04.02.2013 13:18 13840 TCOLORCC.DLL

04.02.2013 13:18 17408 TDVESA.DLL

04.02.2013 13:18 38912 TDWIN.DLL

04.02.2013 13:18 109788 TDXDEBUG.DLL

04.02.2013 13:18 14128 TOOLHELP.DLL

04.02.2013 13:18 20480 TSENG.DLL

04.02.2013 13:18 17920 ULTRA.DLL

04.02.2013 13:18 46352 WORKED1.DLL

04.02.2013 13:18 273408 WORKED2.DLL

04.02.2013 13:18 216256 WORKED3.DLL

04.02.2013 13:18 19168 WORKED4.DLL

04.02.2013 13:18 29760 WORKED5.DLL

04.02.2013 13:18 540384 WORKLIB1.DLL

04.02.2013 13:18 151072 WORKLIB2.DLL

04.02.2013 13:18 26016 WSIHOOK.DLL

04.02.2013 13:18 47616 WSIWIN.DLL

22 файлов 1868064 байт

Содержимое папки D:\Универ\Универ\Новая папка\lab8\BP\BP\Bin

04.02.2013 13:18 20992 ATI.DLL

1 файлов 20992 байт

Содержимое папки D:\Универ\Универ\Новая папка\PABC

04.02.2013 13:18 323584 vcl.dll

04.02.2013 13:18 1421824 VCLDesigner.dll

2 файлов 1745408 байт

Содержимое папки D:\Универ\Универ\Паскаль\BP\BIN

04.02.2013 13:18 20992 ATI.DLL

04.02.2013 13:18 24932 DPMIMEM.DLL

04.02.2013 13:18 23552 DUAL8514.DLL

04.02.2013 13:18 175120 PBROWSER.DLL

04.02.2013 13:18 24064 STB.DLL

04.02.2013 13:18 16896 SVGA.DLL

04.02.2013 13:18 13840 TCOLORCC.DLL

04.02.2013 13:18 17408 TDVESA.DLL

04.02.2013 13:18 38912 TDWIN.DLL

04.02.2013 13:18 109788 TDXDEBUG.DLL

04.02.2013 13:18 14128 TOOLHELP.DLL

04.02.2013 13:18 20480 TSENG.DLL

04.02.2013 13:18 17920 ULTRA.DLL

04.02.2013 13:18 46352 WORKED1.DLL

04.02.2013 13:18 273408 WORKED2.DLL

04.02.2013 13:18 216256 WORKED3.DLL

04.02.2013 13:18 19168 WORKED4.DLL

04.02.2013 13:18 29760 WORKED5.DLL

04.02.2013 13:18 540384 WORKLIB1.DLL

04.02.2013 13:18 151072 WORKLIB2.DLL

04.02.2013 13:18 26016 WSIHOOK.DLL

04.02.2013 13:18 47616 WSIWIN.DLL

22 файлов 1868064 байт

Содержимое папки D:\Универ\Универ\Паскаль\BP\EXAMPLES\COMMON\GREP

04.02.2013 13:18 13824 REGEXP.DLL

1 файлов 13824 байт

Содержимое папки D:\Универ\Универ\Паскаль\BP\PENWIN

04.02.2013 13:18 146240 MARS.DLL

04.02.2013 13:18 131552 PENWIN.DLL

2 файлов 277792 байт

Содержимое папки D:\Универ\Универ\Паскаль\PABC

04.02.2013 13:18 323584 vcl.dll

04.02.2013 13:18 1421824 VCLDesigner.dll

2 файлов 1745408 байт

Всего файлов:

52 файлов 7539552 байт

0 папок 266659549184 байт свободно