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

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

13.09.2012, 14:28. Просмотров 6906. Ответов 19
Метки нет (Все метки)

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

1. Составить программу проверки наличия на диске в каталоге, указанном первым параметром bat-файла, файла text.txt, содержащего список имен файлов и подкаталогов. Если он есть – проверить наличие перечисленных в списке файлов и вывод имен отсутствующих. Если файла text.txt нет, созданть его и записать в него имена файлов и подкаталогов.

Заранее спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2012, 14:28
Ответы с готовыми решениями:

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

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

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

Скрипт на проверку наличия файлов в каталоге и удаления файлов
Доброго времени суток! Накидал не большой скрипт для очистки папки. По задумке...

Проверка наличия папок
Здравствуйте уважаемые господа возникла такая проблема нужно сделать проверку...

19
Dragokas
Эксперт WindowsАвтор FAQ
17053 / 7109 / 860
Регистрация: 25.12.2011
Сообщений: 10,920
Записей в блоге: 16
13.09.2012, 15:46 2
Цитата Сообщение от Ка Посмотреть сообщение
1. Составить программу проверки наличия на диске в каталоге, указанном первым параметром bat-файла, файла text.txt, содержащего список имен файлов и подкаталогов. Если он есть – проверить наличие перечисленных в списке файлов и вывод имен отсутствующих. Если файла text.txt нет, созданть его и записать в него имена файлов и подкаталогов.
Оте-как закручено! 3 раза перечитывал
Только не ясно, что там передается - диск вместе с каталогом
или только каталог, который затем нужно искать с места, откуда запускаем BAT-ник.
0
Ка
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 8
13.09.2012, 16:48  [ТС] 3
Цитата Сообщение от Dragokas Посмотреть сообщение
Только не ясно, что там передается - диск вместе с каталогом
или только каталог
передается только каталог, например c:\f1\kat.bat параметром передаю f1, а в f1 есть ещё каталоги с файлами, вот из этих файлов и каталогов и нада список. Я так поняла.
0
Dragokas
Эксперт WindowsАвтор FAQ
17053 / 7109 / 860
Регистрация: 25.12.2011
Сообщений: 10,920
Записей в блоге: 16
14.09.2012, 01:40 4
Вот бантик
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%
)
2
Ка
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 8
15.09.2012, 10:48  [ТС] 5
Большое спасибо) , осталось разобраться со втрой
В каталоге и его подкаталогах найти и скопировать в отдельный подкаталог все файлы, созданные после 14:00
0
Dragokas
15.09.2012, 17:39
  #6

Не по теме:

А волшебное слово...

0
Ка
0 / 0 / 0
Регистрация: 13.09.2012
Сообщений: 8
16.09.2012, 14:42  [ТС] 7
Я знаю много волшебных слов...
0
Solnyshko
0 / 0 / 0
Регистрация: 10.01.2014
Сообщений: 5
10.01.2014, 12:49 8
Добрый день. Бантик Dragokas к сожалению не работает. Помогите исправить пожалуйста его, а то у меня похожее задание.
0
Eva Rosalene
Ladybug
4052 / 1591 / 303
Регистрация: 06.01.2013
Сообщений: 4,188
Завершенные тесты: 2
10.01.2014, 16:21 9
Solnyshko, а у меня работает...
0
Solnyshko
0 / 0 / 0
Регистрация: 10.01.2014
Сообщений: 5
10.01.2014, 19:00 10
Я копирую текст программы в блокнот (Notepad++) и сохраняю как batch file (.bat .cmd). Потом запускаю его и ничего не происходит( Вот если удалить & Goto :eof из программы, то создастся текстовый документ с именами всех файлов в этой папке.
Это половина задания, но "Если он есть – проверить наличие перечисленных в списке файлов и вывод имен отсутствующих." не выполняется.
Bash
1
2
3
4
5
6
7
8
9
@Echo off
If "%1"=="" (Echo Using: ThisFile.CMD File.txt)
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
Eva Rosalene
Ladybug
4052 / 1591 / 303
Регистрация: 06.01.2013
Сообщений: 4,188
Завершенные тесты: 2
10.01.2014, 19:04 11
Solnyshko, странно. Вот так должно работать:

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%
)
1
Dragokas
Эксперт WindowsАвтор FAQ
17053 / 7109 / 860
Регистрация: 25.12.2011
Сообщений: 10,920
Записей в блоге: 16
10.01.2014, 20:29 12
Solnyshko,
Цитата Сообщение от Solnyshko Посмотреть сообщение
Using: ThisFile.CMD File.txt
то бишь по условию автора задания - запуск из командной строки с аргументом.

++ этот код не расчитан на наличие пробелов в пути к File.txt
0
Eva Rosalene
Ladybug
4052 / 1591 / 303
Регистрация: 06.01.2013
Сообщений: 4,188
Завершенные тесты: 2
10.01.2014, 20:32 13
Dragokas, если первый аргумент "%~1" - это File.txt, то почему cd /d "%~1" ? Я запускал с именем папки, только сейчас обнаружил странное в Using:
0
Dragokas
Эксперт WindowsАвтор FAQ
17053 / 7109 / 860
Регистрация: 25.12.2011
Сообщений: 10,920
Записей в блоге: 16
10.01.2014, 20:35 14
а кто его знает. 2 года назад писал, наверное на коленке.
Поправь + добавь кавычки и UseBackQ, если не трудно.
0
Eva Rosalene
Ladybug
4052 / 1591 / 303
Регистрация: 06.01.2013
Сообщений: 4,188
Завершенные тесты: 2
10.01.2014, 20:40 15
Bash
1
2
3
4
5
6
7
8
9
@Echo off
If "%1"=="" (Echo Using: %~nx0 ^<foldername^> & Goto :eof)
set log=text.txt
cd /d "%~1"
if exist "%log%" (
    for /f "usebackq tokens=*" %%A in ("%log%") Do If Not Exist "%%~A" Echo %%~A
  ) else (
    dir /B>"%log%"
)
1
Solnyshko
0 / 0 / 0
Регистрация: 10.01.2014
Сообщений: 5
10.01.2014, 20:59 16
создается просто пустой файл с названием ")" без расширения

Dragokas

вот еще ваш код на похожую задачу, но чет тоже не запускается

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

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%"
)
0
Eva Rosalene
Ladybug
4052 / 1591 / 303
Регистрация: 06.01.2013
Сообщений: 4,188
Завершенные тесты: 2
10.01.2014, 21:09 17
Цитата Сообщение от Solnyshko Посмотреть сообщение
создается просто пустой файл с названием ")" без расширения
А у меня работает... Какая у Вас система?

Добавлено через 15 секунд
А запускаете-то как?
0
Solnyshko
0 / 0 / 0
Регистрация: 10.01.2014
Сообщений: 5
10.01.2014, 21:12 18
windows xp sp3

запускаю - копирую в блокнот и сохраняю с расширением .bat
потом 2 раза нажимаю по батнику
0
Eva Rosalene
Ladybug
4052 / 1591 / 303
Регистрация: 06.01.2013
Сообщений: 4,188
Завершенные тесты: 2
10.01.2014, 21:24 19
Solnyshko, надо через консоль с укзанием папки. А вашим способом надо запускать такой батник:
Bash
1
2
3
4
5
6
7
8
@Echo off
set log=text.txt
if exist "%log%" (
    for /f "usebackq tokens=*" %%A in ("%log%") Do If Not Exist "%%~A" Echo %%~A
  ) else (
    dir /B>"%log%"
)
pause>nul
1
Solnyshko
0 / 0 / 0
Регистрация: 10.01.2014
Сообщений: 5
10.01.2014, 21:27 20
FraidZZ спасибо большое! Этот вариант работает!))
0
10.01.2014, 21:27
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2014, 21:27

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

Циклическая проверка наличия папок на дисках
Нужно реализовать циклическую проверку двух папок на дисках, но я так и не смог...

Чистка файлов и папок в каталоге 2 уровня
Всем доброго времени суток. Подскажите пожалуйста какой нибудь вариант...


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

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

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