2015-01-15 2 views
2

Я изучаю код, чтобы добавить формат даты в пакетный файл, это код, который мы используем, и он находится на встроенной машине Windows XP.Добавление базового формата даты в пакетный файл в Embedded xp

формат даты может быть столь же простым, как 16012015

файл сохраняется на диск D. затем копирует на диск USB, если у нас есть один в, хранение на ПК только небольшое, поэтому мы удалить файл каждый время резервного копирования

REM #### Creation of the ZIP file #### 

Del %BackupPath%\%ZipName% 
7z a -tzip %BackupPath%\%ZipName% %BackupPath%\Backup\ 



REM #### Copy to USB #### 

IF EXIST E: (echo Copie sur disque E: 
      copy %BackupPath%\%ZipName% E: /y) 
IF EXIST F: (echo Copie sur disque F: 
      copy %BackupPath%\%ZipName% F: /y) 
IF EXIST G: (echo Copie sur disque G: 
      copy %BackupPath%\%ZipName% G: /y) 
IF EXIST H: (echo Copie sur disque H: 
      copy %BackupPath%\%ZipName% H: /y) 
IF EXIST I: (echo Copie sur disque I: 
      copy %BackupPath%\%ZipName% I: /y) 
+0

Если вы просто хотите предотвратить удаление файла Backup.zip путем добавления даты к имени файла? Если это так, добавьте это перед строкой Zipname: 'for/f" skip = 1 tokens = 2 delims == "%% A in ('" WMIC OS Get LocalDateTime/Value 2> nul ")) установить" ISODATE = %% ~ A "' и измените строку Zipname на: 'set 'ZipName =% ISODATE: ~ 0,8% _Backup.zip.' Это сделает ** 20150116_Backup.zip ** –

+1

вот несколько способов сделать это: http://stackoverflow.com/a/19799236/388389 – npocmaka

+0

Спасибо, я не хочу хранить существующий файл на ПК, поскольку пространство ограничено, но я хочу сохранить его на USB-накопителе, поэтому Мне нужен формат даты, чтобы он не писал, что – user396581

ответ

1

Если вам не нужен формат даты и вы счастливы с форматом, используемым %DATE% потом что-то так просто, как это должно работать:

REM Remove slashes and spaces from the date: 
set d=%date:/=% 
set d=%d: =% 
set NewZipName=Backup-%d%.zip 

На моем компьютере %DATE% возвращает Thu 01/15/2015 так вот почему я удалением / и пространство над производить NewZipName из ' Backup-Thu01152015.zip», но в вашем случае, возможно, придется удалить различные символы в соответствии с вашими настройками региона формата дата ...

затем и в конце copy %BackupPath%\%ZipName% G:\%NewZipName% /y

+0

Я пробовал вышеуказанный код и добавил его в свой файл, но id не копирует файл на мой USB-накопитель вообще, ни файл, ни дату – user396581

2

Я считаю, что лучше иметь временные метки в YYYYMMDD, чтобы они ort в хронологическом порядке.

for /f "usebackq tokens=1,2,3,4,5,6,7 delims=/:. " %%a in (`echo %DATE% %TIME%`) do set NOW=%%d%%b%%c_%%e%%f%%g 
@echo now: %NOW% 
set NewZipName=Backup-%NOW%.zip 

Это напечатает дату в формате YYYYMMDD_HHMMSS. Пример вывода: 20150115_165438

Смежные вопросы