View previous topic :: View next topic |
Author |
Message |
belorus
Joined: 07 Mar 2007 Posts: 12
|
(Separately) Posted: Thu Oct 16, 2008 20:06 Post subject: |
|
|
Есть ли возможность бэкапить несколько файлов одним нажатием, или только одного под курсором? _________________ Стреляй во всех, а Господь разберется... |
|
Back to top |
|
 |
Вахмурка

Joined: 27 Dec 2004 Posts: 2586 Location: Большая деревня Москва
|
(Separately) Posted: Thu Oct 16, 2008 23:53 Post subject: |
|
|
Вопрос, конечно, интересный.
Если передать кнопке ТС параметр %L (и ряд подобных - см. справку), то ТС создает во временной директории файл. Тот содержит список выделенных файлов или текущий, если ничего не выделено. Если "скормить" этот файл батнику, то с помощью команды shift можно однотипно обрабатывать все файлы. Но я не знаю, как заставить батник таскать имена из файла по одному. Из командной строки - легко, из файла - похоже, нельзя.
А раз батник оказывается бессильным, пишем скрипт, которому передаем параметр %L. Например:
http://powerpro.wincmd.ru/Scripts/ListDateTime.htm
http://powerpro.wincmd.ru/Scripts/MultiCopy.htm _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
 |
belorus
Joined: 07 Mar 2007 Posts: 12
|
(Separately) Posted: Fri Oct 17, 2008 00:12 Post subject: |
|
|
За наводку на скрипты спасибо, но все же хотелось бы встроенными средствами. Ну на крайняк батником. _________________ Стреляй во всех, а Господь разберется... |
|
Back to top |
|
 |
Вахмурка

Joined: 27 Dec 2004 Posts: 2586 Location: Большая деревня Москва
|
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Fri Oct 17, 2008 02:46 Post subject: |
|
|
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
---------------------------- кнопка ----------------------------
Last edited by Tol!k on Sat Oct 18, 2008 17:12; edited 1 time in total |
|
Back to top |
|
 |
Batya

Joined: 15 Dec 2004 Posts: 2227 Location: Москва, Россия
|
(Separately) Posted: Fri Oct 17, 2008 10:48 Post subject: |
|
|
Ну зачем же так заморачиваться?
F5 или Shift+F5 с маской "*.*.bak" решают проблему. _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
 |
belorus
Joined: 07 Mar 2007 Posts: 12
|
(Separately) Posted: Fri Oct 17, 2008 12:07 Post subject: |
|
|
To Tol!k
Вот спасибо!
Quote: | belorus, бэкапить надёжнее не в .bak, а в архив |
Просто бывает нужно бэкапить несколько мелких файлов(для установки русика или кряка ), а так конечно в архив да и на диск записать не помешает.
Всем спасибо за советы. _________________ Стреляй во всех, а Господь разберется... |
|
Back to top |
|
 |
Вахмурка

Joined: 27 Dec 2004 Posts: 2586 Location: Большая деревня Москва
|
|
Back to top |
|
 |
slideray
Joined: 28 Jun 2010 Posts: 115
|
(Separately) Posted: Wed Jul 11, 2012 04:18 Post subject: |
|
|
Tol!k wrote: | если хочешь именно .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
(*в скобках - час+минута) |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Wed Jul 11, 2012 11:03 Post subject: |
|
|
Code: | @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"
|
Last edited by Tol!k on Thu Jul 12, 2012 01:51; edited 1 time in total |
|
Back to top |
|
 |
slideray
Joined: 28 Jun 2010 Posts: 115
|
(Separately) Posted: Wed Jul 11, 2012 23:45 Post subject: |
|
|
Tol!k, замечательно! Спасибо!
Вот только минуты некорректно отображает:
на часах - 23ч:38м:56с
скрипт пишет - 23-07-56.bak
может в двенадцатичасовом режиме, округляя минуты...
возможно поправить? или с чем может быть связано?
в параметрах указал:
"%WL" ".YY_MM_DD.(hh-mm-ss)"
p.s.
в целом отлично, устраивает полностью и так... тут уж из любви к искусству, допилить до совершенства. |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Thu Jul 12, 2012 00:27 Post subject: |
|
|
slideray wrote: | на часах - 23ч:38м:56с
скрипт пишет - 23-07-56.bak | o_O
запусти Code: | @wmic.exe OS Get LocalDateTime
@echo %date% %time%
@pause |
Quote: | LocalDateTime
20120712002640.683000+240
12.07.2012 0:26:40.69 |
|
|
Back to top |
|
 |
slideray
Joined: 28 Jun 2010 Posts: 115
|
(Separately) Posted: Thu Jul 12, 2012 01:08 Post subject: |
|
|
я так понял отдельным cmd-файлом запускать. Пишет: Code: | LocalDateTime
20120712010342.214000+240
12.07.2012 1:03:42,24
Для продолжения нажмите любую клавишу . . . |
после запуска этого файла минуты всё равно имеют значение "07". Это следовательно не зависит от времени. |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Thu Jul 12, 2012 01:54 Post subject: |
|
|
замени везде mm на nn |
|
Back to top |
|
 |
slideray
Joined: 28 Jun 2010 Posts: 115
|
(Separately) Posted: Thu Jul 12, 2012 02:14 Post subject: |
|
|
Ага! Сработало! Спасибо! |
|
Back to top |
|
 |
|