Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2735
Благодарности: 1699

Профиль | Отправить PM | Цитировать


ShaddyR,
Цитата:
потому, что он проверяет в реализации megaloman то, что ему сказано - наличие файлов в папке, а не наличие самой папки
- Вы не вполне правы, проверьте, пожалуйста, мою реализацию, я непроверенные коды не имею привычки размещать где-либо. У меня проверяется наличие папки, даже если там нет файлов. Если по указанному пути есть файл, совпадающий с именем желаемой папки, папка не создастся, мой способ работает. Проверьте, убедитесь. Вот код, который создаёт папку с подпакой по имени компьютера. Я проверил, работает.
Код: Выделить весь код
@Echo Off

set dir=d:\rar

If Exist "%dir%\%computername%\*.*" (
    Echo Папка %computername% есть 
) Else (
    Echo Папки %computername% нет
    Echo создаем папку %computername%
    md "%dir%\%computername%"
    If Not Exist "%dir%\%computername%\*.*" (
       Echo Не удалось создать папку "%dir%\%computername%"
       Pause
       GoTo EOF
    ) Else (
       Echo Папка %computername% есть
    )
)

rem Далее делаем что нужно
pause
Кстати, если имя папки будет, например, d:\У попа была собака
set dir=d:\У попа была собака
Мой способ работает, если батник набран в 866 кодировке (DOS)
Приведенный код имеет ценность только с той точки зрения, что можно показать, создаётся ли новая папка. На практике, это вообще не нужно. Главное, чтобы папка была. Поэтому код выше можно упростить с точки зрения логики
Код: Выделить весь код
@Echo Off

set dir=d:\У попа была собака

rem Создаю папку безо всякой проверки.  
rem Даже если она уже есть, выдастся ошибка, но батник продолжит выполнение

md "%dir%\%computername%" 1>nul 2>nul
If Not Exist "%dir%\%computername%\*.*" (
       Echo Не удалось создать папку "%dir%\%computername%"
       Pause
       GoTo EOF
) 

Echo Папка %computername% есть

rem Далее делаем что нужно
pause

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 23-06-2010 в 22:30.


Отправлено: 21:51, 23-06-2010 | #6