некоторые вопросы по пакетным файлам - PullRequest
0 голосов
/ 08 февраля 2011

У меня 3 вопроса на тему командных файлов.

Сначала я хочу добавить следующее к имени файла ГГГГММДДЧЧММ - как мне получить это значение в файле bat?

Во-вторых, используя XCOPY, как я могу переместить файл в подпапку без запроса ввода пользователя?

Наконец, у меня есть ряд действий в моем файле bat, поэтому я хочу реализовать обработку ошибок, т.е. если первое действие не удалось, прервите отдых и покажите сообщение пользователю. Любые советы о том, как я могу это сделать?

Заранее спасибо.

1 Ответ

0 голосов
/ 08 февраля 2011
  1. Самый простой способ получить текущую дату и время в нейтральном формате: wmic os get LocalDateTime:

    for /f "skip=1" %%d in ('wmic os get localdatetime') do if not defined MyDate set MyDate=%%d
    rem Only leave date, hours and minutes
    set MyDate=%MyDate:~0,12%
    
  2. xcopy имеет/i switch:

    /I           If destination does not exist and copying more than one file,
                 assumes that destination must be a directory.
    

    Если это не относится, тогда вы можете просто использовать copy.robocopy может разрешить более точное управление, даже.

  3. Просто проверьте после каждой команды, была ли она успешной:

    if errorlevel 1 goto error
    

    и поставьте в конце следующеевашего пакетного файла:

    goto :eof
    :error
    echo An error occurred.
    exit /b 1
    
...