Как отличить папки из файлов в сценарии пакетной обработки? (Или как скопировать и переименовывать-метка-времени их без разбора?)

Я хочу создать пакетный файл, чтобы скопировать файлы или папки в указанном каталоге и добавить дату и время к их именам.
Вот мой фактический код:

@echo off
Set _bpath=T:\Backup\
if [%1]==[] goto :eof
:loop
Set _file=%~n1%
Set _ext=%~x1%
For /f "tokens=1-3 delims=1234567890 " %%a in ("%time%") Do Set "delims=%%a%%b%%c"
For /f "tokens=1-4 delims=%delims%" %%G in ("%time%") Do (
   Set _hh=%%G
   Set _min=%%H
   Set _ss=%%I
   Set _ms=%%J
)
copy %1 "%_bpath%%_file%(%date:/=-% %_hh%h%_min%m%_ss%s)%_ext%"
shift
if not [%1]==[] goto loop

Эти работы для файлов только и я мог адаптировать его легко к папкам с xcopy /E %1 "%_bpath%%_file%(%date:/=-% %_hh%h%_min%m%_ss%s) но я хотел бы постараться не иметь дело с двумя пакетными файлами.

Таким образом, как копировать/переименовывать их без разбора (у меня есть попытка с копией, xcopy и robocopy без успеха), или как отличить их для создания два ЕСЛИ ответвление? (Используя % ~x1% слишком ненадежно...),

1
задан 13.07.2015, 16:10

1 ответ

Это могло бы быть полезно для Вас, видеть этот вопрос

0
ответ дан 24.11.2019, 02:12

Теги

Похожие вопросы