.bak файлы

Обсуждение Total Commander. Установка, использование, настройка, решение проблем, скрытые функции. Обсуждение новых версий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

belorus
Сообщения: 12
Зарегистрирован: Ср мар 07, 2007 00:04

Сообщение belorus »

Есть ли возможность бэкапить несколько файлов одним нажатием, или только одного под курсором?
Стреляй во всех, а Господь разберется...
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

Вопрос, конечно, интересный.
Если передать кнопке ТС параметр %L (и ряд подобных - см. справку), то ТС создает во временной директории файл. Тот содержит список выделенных файлов или текущий, если ничего не выделено. Если "скормить" этот файл батнику, то с помощью команды shift можно однотипно обрабатывать все файлы. Но я не знаю, как заставить батник таскать имена из файла по одному. Из командной строки - легко, из файла - похоже, нельзя.
А раз батник оказывается бессильным, пишем скрипт, которому передаем параметр %L. Например:
http://powerpro.wincmd.ru/Scripts/ListDateTime.htm
http://powerpro.wincmd.ru/Scripts/MultiCopy.htm
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
belorus
Сообщения: 12
Зарегистрирован: Ср мар 07, 2007 00:04

Сообщение belorus »

За наводку на скрипты спасибо, но все же хотелось бы встроенными средствами. Ну на крайняк батником.
Стреляй во всех, а Господь разберется...
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

Отлично - стимул есть. Значит, снимаем с пыльной полки учебник по DOS, или по-современному качаем, или поглядываем в мой, и пробуем.
Получится - похвастайся.
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

belorus, бэкапить надёжнее не в .bak, а в архив. Да и кнопок для архивации написано уже на небольшую панельку. Но если хочешь именно .bak, то получай:

----------------------------------- bak.cmd -----------------------------------
@echo off
chcp 1251 > nul
for /f "delims=" %%a in (%1) do copy /b "%%a" "%%~nxa.bak"

----------------------------------- bak.cmd -----------------------------------

---------------------------- кнопка ----------------------------
TOTALCMD#BAR#DATA
%commander_path%\bak.cmd
%L
%commander_path%\WCMICONS.DLL,39
.bak-копии выделенных файлов


-1

---------------------------- кнопка ----------------------------
Последний раз редактировалось Tol!k Сб окт 18, 2008 17:12, всего редактировалось 1 раз.
Аватара пользователя
Batya
Сообщения: 2236
Зарегистрирован: Ср дек 15, 2004 09:51
Откуда: Москва, Россия

Сообщение Batya »

Ну зачем же так заморачиваться?
F5 или Shift+F5 с маской "*.*.bak" решают проблему.
Нет, я не сплю. Я просто медленно моргаю.
belorus
Сообщения: 12
Зарегистрирован: Ср мар 07, 2007 00:04

Сообщение belorus »

To Tol!k

Вот спасибо!
belorus, бэкапить надёжнее не в .bak, а в архив
Просто бывает нужно бэкапить несколько мелких файлов(для установки русика или кряка :oops: ), а так конечно в архив да и на диск записать не помешает.

Всем спасибо за советы.
Стреляй во всех, а Господь разберется...
Аватара пользователя
Вахмурка
Сообщения: 2587
Зарегистрирован: Пн дек 27, 2004 14:47
Откуда: Большая деревня Москва
Контактная информация:

Сообщение Вахмурка »

2Tol!k
Круто. Жаль, я уже ушел с батников на скрипты.

2Batya
Это неспортивно - тут народ именно позаморачиваться хочет.
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
slideray
Сообщения: 115
Зарегистрирован: Пн июн 28, 2010 09:34

Сообщение slideray »

Tol!k писал(а):если хочешь именно .bak, то получай:[/size]

----------------------------------- bak.cmd -----------------------------------
@echo off
chcp 1251 > nul
for /f "delims=" %%a in (%1) do copy /b "%%a" "%%~nxa.bak"

----------------------------------- bak.cmd -----------------------------------
а возможно, чтобы батник прописывал в имени дату+время создания бэкапа?
что то типо:
totalcmd_20120711(0416).bak
(*в скобках - час+минута)
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

Код: Выделить всё

@echo off &setlocal enableextensions

::	.bak-копии выделенных файлов
::	Параметры:	"список" "штамп"
::	Например:	"%WL" ".YY_MM_DD.(hh-nn-ss)"
::	Автор:	Tol!k

for /f "skip=1 delims=." %%d in (
	'wmic.exe OS Get LocalDateTime ^|findstr .'
) do set "DateTime=%%d"

set "stamp=%~2"
call set "stamp=%%stamp:YY=%DateTime:~0,4%%%"
call set "stamp=%%stamp:MM=%DateTime:~4,2%%%"
call set "stamp=%%stamp:DD=%DateTime:~6,2%%%"
call set "stamp=%%stamp:hh=%DateTime:~8,2%%%"
call set "stamp=%%stamp:nn=%DateTime:~10,2%%%"
call set "stamp=%%stamp:ss=%DateTime:~12,2%%%"

for /f "delims=" %%a in ('type %1') do copy /b "%%a" "%%~nxa%stamp%.bak"
Последний раз редактировалось Tol!k Чт июл 12, 2012 01:51, всего редактировалось 1 раз.
slideray
Сообщения: 115
Зарегистрирован: Пн июн 28, 2010 09:34

Сообщение slideray »

Tol!k, замечательно! Спасибо!
Вот только минуты некорректно отображает:
на часах - 23ч:38м:56с
скрипт пишет - 23-07-56.bak
может в двенадцатичасовом режиме, округляя минуты...
возможно поправить? или с чем может быть связано?
в параметрах указал:
"%WL" ".YY_MM_DD.(hh-mm-ss)"

p.s.
в целом отлично, устраивает полностью и так... тут уж из любви к искусству, допилить до совершенства.
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

slideray писал(а):на часах - 23ч:38м:56с
скрипт пишет - 23-07-56.bak
o_O

запусти

Код: Выделить всё

@wmic.exe OS Get LocalDateTime
@echo %date% %time%
@pause
LocalDateTime
20120712002640.683000+240

12.07.2012 0:26:40.69
slideray
Сообщения: 115
Зарегистрирован: Пн июн 28, 2010 09:34

Сообщение slideray »

я так понял отдельным cmd-файлом запускать. Пишет:

Код: Выделить всё

LocalDateTime
20120712010342.214000+240

12.07.2012  1:03:42,24
Для продолжения нажмите любую клавишу . . .
после запуска этого файла минуты всё равно имеют значение "07". Это следовательно не зависит от времени.
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

замени везде mm на nn
slideray
Сообщения: 115
Зарегистрирован: Пн июн 28, 2010 09:34

Сообщение slideray »

Ага! Сработало! Спасибо!
Ответить