![]() |
Проверка на наличие папок в директории
Есть папка "A" (представлена как переменная %sFolder%), нужно чтобы батник искал в папке "A", папки: "B" , "C", "D", "E" и определенные файлы.
Если папка какая-та не найдена, чтобы в батнике (echo) было написано: ПАПКА B НЕ НАЙДЕНА. а если допустим Б не найдено, а следующая папка С найдена, писалось (echo): ПАПКА С НАЙДЕНА. Коротко говоря, требуется батник который будет искать определенные папки, и определенные файлы в каждых из этих папок. При удачном нахождении и при неудаче будет писаться в батнике информация что найдено, или же не найден, тобишь. echo ПАПКА НАЙДЕНА... echo Проверка файлов в ней.... echo В ПАПКЕ "B" ОТСУТСТВУЕТ ФАЙЛ "settings.dff" , "develop.ini" echo Проверка папки C... echo В ПАПКЕ "C" ВСЁ НА МЕСТЕ. Буду очень благодарен, заранее спасибо. |
Правьте по своему разумению:
Цитата:
|
Кстати да, так лучше.
Лучше просто писать echo при нахождении ошибки какой-то. |
Спасибо большое.
Решено. Ой, тфу, забыл дополнить, извините. Как переделать чтобы "settings.dff" , "develop.ini" искалось только в папке "B" а ещё "1.txt" , "2.txt" искалось только в папке C |
feAre, огласите весь список файлов.
|
Папка B
Файлы: "settings.dff" , "develop.ini" Папка C: Файлы: "1.txt" , "2.txt" Папка D: Файлы: "2.png", "2.png" Папка E: Файлы: "5.mp3" , "6.mp3" И в корневой папке (%sFolder%) "crashchecker.exe" , "ccsa.ini" |
feAre, тогда только последовательно:
Цитата:
|
опечатка.
хотел на три нажать, нажал на два. Спасибо большое. |
Каким-то образом появилась проблема.
Код:
call :CheckFolderAndFiles "%sFolderName%\models\txd\" "intro1.txd" "intro2.txd" |
Цитата:
|
Код:
call :CheckFolderAndFiles "%sFolderName%\models\txd\" "intro1.txd" "intro2.txd" т.е. он не ищет в папке "\models\txd\", он ищет просто в корневой папке %sFolderName% |
feAre, приведите весь используемый Вами код. Ибо в моём коде нет переменной окружения «sFolderName», а есть только переменная окружения «sFolder».
|
Код:
for /f "tokens=2 delims=:" %%i in ('chcp') do ( |
feAre, ключевым словом в моём предыдущем посте было слово «весь». Приведённый Вами код неработоспособен.
|
Код:
@echo off |
Угу. Теперь лучше.
Проблема только с «…\models\txd\»? |
Проблема со всеми.
|
feAre, тихий ужас. Это не работает задолго до «call :CheckFolderAndFiles …». «exit /b» — значимая команда, зачем Вы убрали, где она была, но не добавили туда, где она как раз нужна? Кодировка пакетных файлов — OEM/866.
Ниже «:CheckFolderAndFiles» не пошёл. Сами. Завершающий слэш в именах каталогов не нужен, убирайте. |
Время: 13:37. |
Время: 13:37.
© OSzone.net 2001-