2011-02-08 3 views
0

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

Во-первых, я хочу добавить следующее в filename YYYYMMDDHHMM - как я могу получить это значение в файле bat?

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

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

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

+2

Если у вас есть три разные вопросы, то, пожалуйста, напишите три разных вопроса. Это для чего предназначен этот сайт. Количество вопросов, которые вы можете задать, не ограничено. – Joey

+0

Вы спросили: «... XCOPY, как я могу переместить файл ...». AFAIK XCOPY не может перемещать файлы, он копирует файлы только в другой пункт назначения, оставляя исходные файлы такими, какие они есть. –

ответ

0
  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 переключатель:

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

    Если это Безразлично 't применить, тогда вы можете просто использовать copy. robocopy может позволить более мелкозернистый контроль, даже.

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

    if errorlevel 1 goto error 
    

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

    goto :eof 
    :error 
    echo An error occurred. 
    exit /b 1 
    
Смежные вопросы