Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.81/16: Рейтинг темы: голосов - 16, средняя оценка - 4.81
nmv
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 26
1

Проверка наличия на диске в указанном каталоге перечисленных в списке файлов и вывод имен отсутствующих

12.11.2012, 17:07. Просмотров 3196. Ответов 16
Метки нет (Все метки)

Проверка наличия на диске в каталоге, указанном первым параметром КФ файла FNames.txt, содержащего список имен файлов и подкаталогов. Если о есть - проверка наличия перечисленных в списке файлов и вывод иен отсутствующих. Если файла FNames.txt нет, создание его и запись имен файлов и подкаталогов.

Помогите решить задачу, пожалуйста!!!!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.11.2012, 17:07
Ответы с готовыми решениями:

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

Заменить в указанном каталоге в расширениях всех имен файлов, удовлетворяющих заданному шаблону, последнюю букву на р
Написать командный файл, который заменяет в указанном каталоге в расширениях всех имен файлов,...

Проверка наличия файлов (*.exe, *.com) в каталоге Windows
Разработать пакетный файл для проверки наличия файлов (*.exe, *.com) в каталоге Windows,включая...

Проверка наличия в каталоге файла, а также всех файлов и папок, которые в нем указаны
Здравствуйте, помогите пожалуйста решить лабораторные. Очень надо, я в этом ничего не понимаю. Мне...

Проверка наличия трех текстовых файлов на диске и объединения их в один файл
Помогите плз с заданием. Создать два пакетных файла, реализующих следующие задачи: 1. Проверка...

16
Para bellum
Эксперт PHP
4187 / 3117 / 1010
Регистрация: 06.01.2011
Сообщений: 9,091
12.11.2012, 17:10 2
Цитата Сообщение от nmv Посмотреть сообщение
Если файла FNames.txt нет, создание его и запись имен файлов и подкаталогов.
А откуда должны браться имена файлов и каталогов?
0
nmv
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 26
12.11.2012, 17:12  [ТС] 3
с диска "С"
0
Para bellum
Эксперт PHP
4187 / 3117 / 1010
Регистрация: 06.01.2011
Сообщений: 9,091
12.11.2012, 17:14 4
Т.е. ВСЕ файлы и папки, что есть на диске должны вписаться этот файл?
0
12.11.2012, 17:14
DrobyshevAlex
1174 / 1124 / 94
Регистрация: 31.05.2012
Сообщений: 3,060
12.11.2012, 17:17 5
Цитата Сообщение от Lyodik Посмотреть сообщение
А откуда должны браться имена файлов и каталогов?
думаю отсюда
Цитата Сообщение от nmv Посмотреть сообщение
Проверка наличия на диске в каталоге, указанном первым параметром
0
nmv
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 26
12.11.2012, 19:37  [ТС] 6
ну да, по заданию вроде так

Добавлено через 2 часа 20 минут
вот нашел что-то подобное в форумах... но не работает
Bash
1
2
3
4
5
6
7
8
9
@Echo off
If "%1"=="" (Echo Using: ThisFile.CMD File.txt) & Goto :eof
Set $log=text.txt
Cd /d "%~1"
If Exist %$log% (
    For /f "delims=" %%a in (%$log%) Do If Not Exist "%%a" Echo %%a
  ) else (
    Dir /B>%$log%
)
0
WebMax 2.0
--\.founder./--
563 / 563 / 392
Регистрация: 20.10.2011
Сообщений: 867
12.11.2012, 19:47 7
nmv, Вам нужно про сканировать каталог указанный в параметре, и записать все имена файлов и подкаталогов этого каталога в файл FNames.txt ?
0
nmv
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 26
13.11.2012, 08:19  [ТС] 8
Цитата Сообщение от WebMax 2.0 Посмотреть сообщение
nmv, Вам нужно про сканировать каталог указанный в параметре, и записать все имена файлов и подкаталогов этого каталога в файл FNames.txt ?
я не знаю как это сделать
0
Para bellum
Эксперт PHP
4187 / 3117 / 1010
Регистрация: 06.01.2011
Сообщений: 9,091
13.11.2012, 08:45 9
Цитата Сообщение от nmv Посмотреть сообщение
я не знаю как это сделать
Вот так:
PHP
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
    # Для рекурсивного прохода директорий
    function recursiveScanDir( $directory )
    {
        # Сканируем директорию
        $files = scandir( $directory );
        
        # Не нужно сканировать
        $disabled = array( '.', '..' );
        
        # Список файлов
        $list = '';
        
        # В цикле обходим
        foreach( $files as $file )
        {
            # Если файл не запрещён для сканирования
            if( !in_array( $file, $disabled )  )
            {
                # Путь к файлу или директории
                $file = $directory . '/' . $file;
 
                # Дописываем список
                $list .= $file . "\r\n";
                
                # Если $file является директорией
                if( is_dir( $file ) )
                {
                    # Сканируем директорию
                    $list .= recursiveScanDir( $file );
                }
            }
        }
        
        # Возвращаем список
        return $list;
    }
    
    # Для проверки существования файлов
    function checker( $directory )
    {
        # Проверяем, есть ли такая директория
        is_dir( $directory ) or die('Продолжение невозможно: Укажите правильную директорию.');
        
        # Если файл FNames.txt в директории есть
        if( file_exists( $directory . '/FNames.txt' ) )
        {
            # Открываем файл
            $files = file( $directory . '/FNames.txt' );
            
            # Счётчик отсутствующих файлов
            $counter = 0;
            
            # В цикле проверяем, есть ли файл
            foreach( $files as $file )
            {
                # Если файл существует
                if( !file_exists( trim( $file ) ) )
                {
                    # Выводим отсутствующий файл
                    echo $file . '<br>';
                    
                    # Увеличиваем счётчик
                    $counter++;
                }
            }
            
            # Если отсутсвующих файлов нет
            if( !$counter ) echo 'Файл "FNames.txt" существует! Отсуствующих файлов нет!';
        }
        else
        {
            # Сканируем директорию
            $list = recursiveScanDir( $directory );
            
            # Создаём новый файл
            if( file_put_contents( $directory . '/FNames.txt', $list ) )
            {
                # Выводим сообщение о создании нового файла
                echo 'Файл "FNames.txt" отсутствовал - создан новый!';
            }
            else
            {
                # Выводим сообщение об ошибке в создании нового файла
                echo 'Файл "FNames.txt" отсутствовал - новый не удалось создать!';
            }
        }
    }
И вызывать так:
PHP
1
2
# Вызываем функцию проверки
checker( 'тут путь к директории' );
1
nmv
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 26
13.11.2012, 09:44  [ТС] 10
Цитата Сообщение от Lyodik Посмотреть сообщение
И вызывать так:
PHP
1
2
# Вызываем функцию проверки
checker( 'тут путь к директории' );
учусь на заочном. Предмета не знаю вообще.
Вроде все понятно написано, подставляю С:/ вместо $директория и ничего не получается....
Буду очень благодарен, если напишешь рабочий батник
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16767 / 6654 / 869
Регистрация: 12.06.2012
Сообщений: 19,902
Завершенные тесты: 1
13.11.2012, 10:13 11
Цитата Сообщение от nmv Посмотреть сообщение
подставляю С:/ вместо $директория
где вообще этот диск C находится? На сервере? Или у Вас на компе?
0
nmv
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 26
15.11.2012, 09:10  [ТС] 12
Цитата Сообщение от KOPOJI Посмотреть сообщение
где вообще этот диск C находится? На сервере? Или у Вас на компе?
На компе....
Это лабораторная работа. Поэтому до сервера не допускают:-)
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16767 / 6654 / 869
Регистрация: 12.06.2012
Сообщений: 19,902
Завершенные тесты: 1
15.11.2012, 09:28 13

Не по теме:

Цитата Сообщение от nmv Посмотреть сообщение
Поэтому до сервера не допускают:-)
жесть :D


Пых работает в своей среде-сервере (апач, IIS или еще что)

Добавлено через 1 минуту
Вы уверены, что Вам нужно именно на php а не на батник?
0
nmv
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 26
15.11.2012, 09:29  [ТС] 14
Люди! Ну помогите кто-нибудь создать работающий bat-ник, по заданию
Если все лабы не сдам, сессию не закрою:-(
0
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16767 / 6654 / 869
Регистрация: 12.06.2012
Сообщений: 19,902
Завершенные тесты: 1
15.11.2012, 09:30 15
Еще раз. Вы уверены что именно на php это нужно?
0
nmv
0 / 0 / 0
Регистрация: 12.09.2012
Сообщений: 26
15.11.2012, 09:32  [ТС] 16
[QUOTE=KOPOJI;3701677]
Цитата Сообщение от KOPOJI Посмотреть сообщение
Еще раз. Вы уверены что именно на php это нужно?
Проходим дисциплину "Операционные системы" в wimdows.
Выше я уже писал задание

 Комментарий модератора 
Внимательнее с выбором раздела, не отнимайте зря время у людей. Читаем правила
0
Dragokas
Эксперт WindowsАвтор FAQ
17065 / 7120 / 861
Регистрация: 25.12.2011
Сообщений: 10,931
Записей в блоге: 16
16.11.2012, 00:11 17
Bash
1
2
3
4
5
6
7
8
9
10
@echo off
set list=%~1\FNames.txt
if exist "%list%" (
    for /f "delims=" %%A in (%list%) do (
      if not exist "%~1\%%A" echo %%A не существует
    )
    pause
  ) else (
    dir /b>"%list%"
)
не тестил.
1
16.11.2012, 00:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.11.2012, 00:11

Поиск указанных файлов на указанном диске и вывод результата на экран
Всем привет, я здесь впервые,и вот возник такой вопрос Для поиска файлов и выведения на экран я...

Проверка наличия трёх текстовых файлов на диске и объединение их в один файл в случае существования каждого
Проверка наличия трех текстовых файлов на диске и объединения их в один файл. Как сие воплотить?...

Определение наличия подкаталогов в каталоге и вывод их имен.
определить или есть в каталоге c:Temp подкаталоги. если нашлись, то вывести на экран названия и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru