Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Модератор
Эксперт Windows
8736 / 3361 / 244
Регистрация: 25.10.2010
Сообщений: 13,601
1

Как проверить существование каталога

21.02.2015, 11:57. Показов 1843. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Надо создать текстовой файл, который называется: минуты и годы системных переменных TIME и DATE и записать в него путь к временным каталогам, принятым по умолчанию
Вот что получилось
Bash
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
@echo off
set x=Иванов Иван иваныч
set x1=Группа 1
set x2=Лаба 5
echo %x%
echo %x1%
echo %x2%
@echo.
set x3=Введите имя каталога:
echo %x3%
set /p cat=
md %cat%
cd %cat%
set m=%TIME:~3,2%
set yyyy=%date:~6,4%
set curtime=%m%
set curdate=%yyyy%
set curdatetime=%curtime%%curdate%
echo.>%curdatetime%.txt
@echo.
set t=%TEMP%
set t1=%TMP%
set x4=Путь к временным каталогам, принятым по умолчанию
echo %cat%>>%curdatetime%.txt
echo %x4%>>%curdatetime%.txt
echo %t%>>%curdatetime%.txt
echo %t1%>>%curdatetime%.txt
@echo.
type %curdatetime%.txt
pause
Все работает, но трабла в следующем, как проверить существование каталога cat (если не существует, то его надо создать)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.02.2015, 11:57
Ответы с готовыми решениями:

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

Создание каталога, копирование файлов, архивирование содержимого каталога, запись результата работы в файл
Написать командный файл, выполняющий следующие действия: создать каталог с названием dir<дата>,...

Рекурсивный поиск и удаление каталога. Пробелы в имени каталога
Со вторым днем зимы всех. Есть bat: @echo off rem unsvn.bat setlocal rem...

Как проверить существование каталога в реестре?
С наступающим! уважаемые программисты. Как можно проверить существование каталога в реестре?...

4
251 / 239 / 16
Регистрация: 31.12.2009
Сообщений: 324
21.02.2015, 12:49 2
Цитата Сообщение от Persk Посмотреть сообщение
...как проверить существование каталога...
если из недавних тем, то здесь ComSpec показывал современнй способ, правда в том же треде Smitis говорил, что вроде бы было еще обсуждение, но я его не нашел
0
Модератор
Эксперт Windows
8736 / 3361 / 244
Регистрация: 25.10.2010
Сообщений: 13,601
22.02.2015, 06:44  [ТС] 3
Цитата Сообщение от buggydancer Посмотреть сообщение
если из недавних тем, то здесь
Не работает

Добавлено через 17 часов 2 минуты
Решил таким способом
Bash
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
@echo off
set x=Иванов Иван иваныч
set x1=Группа 1
set x2=Лаба 5
echo %x%
echo %x1%
echo %x2%
@echo.
set x3=Введите имя каталога:
echo %x3%
set /p cat=
if not exist %cat%\nul echo Каталог с таким именем %cat% не найден и он будет создан автоматически
if exist %cat%\nul echo Каталог с таким именем %cat% уже есть и данные будут перезаписаны
echo Для продолжения нажмите любую клавишу
pause>nul
@echo.
md %cat% >nul 2>nul
cd %cat%
set m=%TIME:~3,2%
set yyyy=%date:~6,4%
set curtime=%m%
set curdate=%yyyy%
set curdatetime=%curtime%%curdate%
echo.>%curdatetime%.txt
@echo.
set t=%TEMP%
set t1=%TMP%
set x4=Путь к временным каталогам, принятым по умолчанию
echo Каталог %cat%>>%curdatetime%.txt
echo %x4%>>%curdatetime%.txt
echo %t%>>%curdatetime%.txt
echo %t1%>>%curdatetime%.txt
@echo.
echo Содержимое файла %curdatetime%.txt
type %curdatetime%.txt
pause
0
1779 / 761 / 130
Регистрация: 09.04.2011
Сообщений: 1,325
22.02.2015, 10:26 4
Persk, попробуйте так
Bash
1
2
3
4
5
6
7
8
9
10
@echo off
setlocal enabledelayedexpansion
 
set flg=
set /p x="Введите имя католога: "
set /p r="Введите букву раздела, в котором искать каталог:"
 
for /r "%r%:\" %%a in ('%x% 2^>nul') do if exist "%%a" (echo каталог найден по пути %%a& set flg=1)
if not defined flg (echo Каталог не найден.& set /p put="Введите путь для создания каталога: "& md "%put%\%x%" )
pause
Добавлено через 8 минут
немного перемудрил с '%x% 2^>nul', протестирую и поправлю

Добавлено через 11 минут
Код
@echo off
setlocal enabledelayedexpansion

set flg=
set /p x="Введите имя католога: "
set /p r="Введите букву раздела, в котором искать каталог: "

for /r "%r%:\" %%a in (%x%) do if exist "%%a" (echo каталог найден по пути %%a& set flg=1)
if not defined flg (echo Каталог не найден.& set /p put="Введите путь для создания каталога: ")
if defined put md "%put%\%x%"
pause
1
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
24.02.2015, 21:14 5
Лучший ответ Сообщение было отмечено Persk как решение

Решение

Во накрутили!

Цитата Сообщение от Persk Посмотреть сообщение
как проверить существование каталога cat (если не существует, то его надо создать)
Bash
1
@if not exist "%cat%\" md "%cat%"
4
24.02.2015, 21:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.02.2015, 21:14
Помогаю со студенческими работами здесь

Как определить с существование файла и каталога?
Всем здравствуйте. Перед тем как начать работу с файлом я определяюсь с его существованием:...

Как проверить существование базы
Как проверить существование базы в момент создания главной формы(база mysql). Использую компоненты...

Как проверить объект на существование?
Всем здарвсвуйте! Подскажите как можно проверить существет ли объект, к примеру Label и если...

Как проверить существование файла ?
Например name.xls, мне нужно чтоб макрос не останавливался, если файла не существует. Есть...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru