. : : ClassiClub ForuM : : .

会员中心 论坛帮助 日历事件 标记论坛已读
返回   精品技术论坛 » 技术论坛 » 『软件使用』

『软件使用』: 电脑软件推荐, 电脑软件使用, 经验分享



发表新主题 回复
 
主题工具
nh_wzg
 
nh_wzg 的头像
核心会员
 
资 料:
注册日期: Jul 2000
帖子: 3,400 声望值: 3
精华: 5,解答: 9
#1 旧 2018-05-03, 16:39:32 默认 【推荐】私有云方案用WinRAR实现保留【源文件夹时间戳】+ TC的多选文件夹便利操作
nh_wzg 当前离线  

2014年测试Seafile Windows版2.0.5时,没有支持【源文件夹时间戳】,

2018年测试Seafile Windows版6.0.7时,仍然没有支持【源文件夹时间戳】,

哪位朋友知道私有云软件方案中,哪家支持【源文件夹时间戳】保留的,请指点下?

关于Seafile的【源文件夹时间戳】的测试与讨论,可以参考下:__https://bbs.seafile.com/t/topic/6319

owncloud : https://github.com/owncloud/core/issues/14008

dropbox API https://www.dropboxforum.com/t5/API-...ht/true#M15997

此帖于 2018-05-11 20:57:05 被 nh_wzg 编辑. .


平和精确简约应成为精品成员的三大基本要求!!!
nh_wzg
回复时引用此帖
nh_wzg
 
nh_wzg 的头像
核心会员
 
资 料:
注册日期: Jul 2000
帖子: 3,400 声望值: 3
精华: 5,解答: 9
#2 旧 2018-05-19, 14:22:49 默认
nh_wzg 当前离线  

自从提出这个问题,一直没有找到丝毫关于解决问题的线索。反倒是G到了一大堆关于云服务无法支持实现这个功能的各种解释。

只能退而求其次,在本地系统中测试各种备份工具的相关功能。一种相对繁复的操作流程,是可以实现在做备份时保留文件夹的时间戳的。

过程:
1、对备份的目录,右击,选择》压缩(WinRAR / Winzip ...各种压缩软件)
2、对生成的备份压缩文件,更名操作为:原文件夹名称+时间戳(比如用这样的格式:文件夹名称20150529,目的是方便Everything等的查找时提供可供参考的时间戳)
3、对生成的备份压缩文件,各种云备份操作(公有云/私有云),云下载操作。
4、解压备份压缩文件时,生成出来的原文件夹,保留了原来的时间戳。

希望朋友提供的指点是:
【步骤2、】有没有更好的,更方便的实现方法,不要太多的手动过程,而通过软件自动实现。

参考:
_https://blogs.msdn.microsoft.com/mapo/2015/08/05/preserving-original-file-created-datetime-in-a-compressed-archive-file/

===>2018.05.22
同一天,到stackoverflow网站搜索,发了同样的问题,得到的结果,让人感叹指点人的水平真高,而且对操作系统命令行、批处理的知识范围很全面。
_https://stackoverflow.com/questions/50422950/how-to-create-a-rar-archive-with-date-of-the-archived-folder-in-archive-file-nam?answertab=votes#tab-top

供参考的批处理文件例子:
比如另存为aa.bat
批处理操作就是:aa.bat 备份目标文件夹名称
实际就是:winrar a -r -agYYYYMMDD-HHMM kk "d:\doc\aatmp" 的形式
代码:
@echo off
setlocal EnableExtensions DisableDelayedExpansion
rem set "FolderToBackup=D:\doc\aatmp"
set "FolderToBackup=%1"

rem Get last modification date/time of the folder to backup
rem in region dependent format which is YYYY-MM-DD hh:mm.
for %%I in ("%FolderToBackup%") do set "FolderTimeStamp=%%~tI"

rem Get from this date/time string just the year, month
rem and day of month from the date without the hyphens.
set "FolderTimeStamp=%FolderTimeStamp:~0,4%%FolderTimeStamp:~5,2%%FolderTimeStamp:~8,2%"

rem Compress the folder to backup into a RAR archive file with
rem last modification date of folder used in archive file name.
"%Programw6432%\WinRAR\WinRAR.exe" a -ac -cfg- -dh -ep1 -ibck -m4 -oh -ol -os -ow -r -ts -y -- %FolderTimeStamp%_%FolderToBackup%.rar "%FolderToBackup%"

rem Restore the environment as set before usage of command SETLOCAL at top.
endlocal
》新的问题:
如何在文件管理器中,选定一个或多个文件夹,鼠标右键,选择命令操作》相应的文件夹备份压缩改名批处理操作?

===>--20181101 把上面这个批处理文件,设置为Total Commaner 9.12下面的一个工具栏按键的话,参数配置为%s,对单个目录来使用,在Win7下面,正常压缩光标下面对应的目录,成为【有时间戳格式的名称格式的压缩文件】。

===>--20181110 见#10楼,有可供参考的批处理文件

===>--20181110 为何着意于文件夹的原始时间戳?因为实质上这个时间戳,在默认系统时间一致的条件下面,就是工作文件的版本控制依据。

此帖于 2018-11-10 17:35:15 被 nh_wzg 编辑. .
回复时引用此帖
Luke
 
Luke 的头像
初级会员
 
资 料:
注册日期: Jan 2006
帖子: 150 声望值: 0
精华: 0,解答: 1
#3 旧 2018-05-19, 15:22:00 默认
Luke 当前离线  

360的云盘是支持的

百度就不行,至少默认状态是这样
回复时引用此帖
nh_wzg
 
nh_wzg 的头像
核心会员
 
资 料:
注册日期: Jul 2000
帖子: 3,400 声望值: 3
精华: 5,解答: 9
#4 旧 2018-05-19, 16:30:15 默认
nh_wzg 当前离线  

引用:
作者: Luke 查看帖子
360的云盘是支持的

百度就不行,至少默认状态是这样
360云盘测试中,上传的文件夹时间戳是不能与源文件夹时间戳一致的。
上传的图像
文件类型: jpg yp.jpg (219.9 KB, 334 次查看)

此帖于 2018-05-19 18:18:46 被 nh_wzg 编辑. .
回复时引用此帖
chengan`s
 
chengan`s 的头像
热心会员
 
资 料:
注册日期: Jan 2010
帖子: 3,653 声望值: 9
精华: 0,解答: 9
#5 旧 2018-05-22, 19:57:26 默认
chengan`s 当前离线  

支持创新实践
回复时引用此帖
xuzi
 
xuzi 的头像
超级会员
 
资 料:
注册日期: Jun 2001
帖子: 1,504 声望值: 3
精华: 1,解答: 9
#6 旧 2018-05-23, 11:44:11 默认
xuzi 当前离线  

winrar支持备份和排除文件夹列表
rar.exe a -x@bakno.txt -agyyMMdd .\my.rar @baklist.txt


How are you
How old are you
回复时引用此帖
Luke
 
Luke 的头像
初级会员
 
资 料:
注册日期: Jan 2006
帖子: 150 声望值: 0
精华: 0,解答: 1
#7 旧 2018-06-02, 20:57:35 默认
Luke 当前离线  

引用:
作者: nh_wzg 查看帖子
360云盘测试中,上传的文件夹时间戳是不能与源文件夹时间戳一致的。
很久以前文件试过,文件夹确实没试过
回复时引用此帖
nh_wzg
 
nh_wzg 的头像
核心会员
 
资 料:
注册日期: Jul 2000
帖子: 3,400 声望值: 3
精华: 5,解答: 9
#8 旧 2018-11-08, 22:28:06 默认
nh_wzg 当前离线  

@namejm
在Totoal Commander 下面,想先通过图形界面选择相应一个或多个的目录,然后按要求分别生成对应【有时间戳信息的压缩文件】。
使用了2楼的批文件,需要整合TC工具栏(Button)上面所配置的%L参数,来传递TC所选择的目录名称到批处理文件。

按你的大作,使用了延迟变量的用法,但是一直搞不出Winrar.exe的这一行的语句,使他如2楼一样正常运行。

请指点,先谢谢!

代码:
rem @echo off
rem Processing of %L or %WL
REM setlocal EnableExtensions DisableDelayedExpansion
setlocal enabledelayedexpansion
rem for /f "usebackq delims=" %%s in (`type %1`) do echo "%%s"
for /f "usebackq delims=" %%s in (`type %1`) do (
echo "%%s"
rem pause
rem


set FolderToBackup=%%s
echo !FolderToBackup!
REM pause

if "!FolderToBackup:~-1!"=="\" set "FolderToBackup=!FolderToBackup:~0,-1!"
echo !FolderToBackup!
pause

rem Get last modification date/time of the folder to backup
rem in region dependent format which is YYYY-MM-DD hh:mm.
for %%I in ("!FolderToBackup!") do set "FolderTimeStamp=%%~tI"
echo !FolderTimeStamp!
pause

rem Get from this date/time string just the year, month
rem and day of month from the date without the hyphens.
set "FolderTimeStamp=!FolderTimeStamp:~0,4!!FolderTimeStamp:~5,2!!FolderTimeStamp:~8,2!"
echo !FolderTimeStamp!
pause

rem Compress the folder to backup into a RAR archive file with
rem last modification date of folder used in archive file name.
rem "!Programw6432!\WinRAR\WinRAR.exe" a -ac -cfg- -dh -ep1 -ibck -m4 -oh -ol -os -ow -r -ts -y -- !FolderTimeStamp!_!FolderToBackup!.rar !FolderToBackup!
`c:\Program Files\WinRAR\WinRAR.exe` a -ac -cfg- -dh -ep1 -ibck -m4 -oh -ol -os -ow -r -ts -y -- !FolderTimeStamp!_!FolderToBackup!.rar !FolderToBackup!

)
rem Restore the environment as set before usage of command SETLOCAL at top.
endlocal

此帖于 2018-11-08 22:43:52 被 nh_wzg 编辑. .
回复时引用此帖
nh_wzg
 
nh_wzg 的头像
核心会员
 
资 料:
注册日期: Jul 2000
帖子: 3,400 声望值: 3
精华: 5,解答: 9
#9 旧 2018-11-10, 08:25:28 默认
nh_wzg 当前离线  

由StackOverflow的发问也有了消息,供参考。

可以完成在Total Commander下面,先选择,然后通过参数%L,调用批处理文件的功能。真要谢谢哪位Mofi先生。

_https://stackoverflow.com/questions/53226130/how-to-integrate-batch-file-with-total-commander-gui-selected-files-directorie?noredirect=1&lq=1

代码:
@echo off
setlocal EnableExtensions DisableDelayedExpansion
set "FolderToBackup="
if "%~1" == "" goto ErrorArg
set "FolderToBackup=%~f1"

rem Does the argument string not end with a backslash for a folder path?
if not "%FolderToBackup:~-1%" == "\" goto IsFolder

rem The argument string is a folder path.
rem Does the specified folder not exist?
if not exist "%FolderToBackup%" goto ErrorArg

rem The specified folder exists and is archived now on not being a root folder.
call :BackupFolder
goto EndBatch

:IsFolder
rem Does the argument without trailing backslash not specify a folder?
if not exist "%FolderToBackup%\" goto ExistsFile

rem The argument is a folder path.
rem This folder is archived now on not being a root folder.
call :BackupFolder
goto EndBatch

:ExistsFile
rem The argument string is definitely not a folder path.
rem Does the argument string not specify an existing file?
if not exist "%FolderToBackup%" goto ErrorArg

rem The argument string specifies a file which is hopefully a list file.
set "ListFile=%FolderToBackup%"
for /F "usebackq eol=| delims=" %%I in ("%ListFile%") do (
    set "FolderToBackup=%%~I"
    call :BackupFolder
)
goto EndBatch

:BackupFolder
rem Remove the backslash at end of folder path if there is one at all.
if "%FolderToBackup:~-1%" == "\" set "FolderToBackup=%FolderToBackup:~0,-1%"
rem Exit the subroutine if the folder path was root folder of a drive.
if "%FolderToBackup:~2%" == "" goto :EOF
rem Does the folder to backup not exist? This skips also files!
if not exist "%FolderToBackup%\" goto :EOF

for %%J in ("%FolderToBackup%") do set "FolderName=%%~nxJ" & set "FolderPath=%%~dpJ"

rem Get last modification date/time of the folder to backup
rem in region dependent format which is YYYY-MM-DD hh:mm.
for %%J in ("%FolderToBackup%") do set "FolderTimeStamp=%%~tJ"

rem Get from this date/time string just the year, month
rem and day of month from the date without the hyphens.
set "FolderTimeStamp=%FolderTimeStamp:~0,4%%FolderTimeStamp:~5,2%%FolderTimeStamp:~8,2%"

rem Compress the folder to backup into a RAR archive file with
rem last modification date of folder used in archive file name.
"C:\Program Files\WinRAR\WinRAR.exe" a -ac -cfg- -dh -ep1 -ibck -m4 -oh -ol -os -ow -r -ts -y -- "%FolderPath%%FolderTimeStamp%_%FolderName%.rar" "%FolderToBackup%"
goto :EOF

:ErrorArg
if defined FolderToBackup (echo %~f0 "%FolderToBackup%") else echo %~f0
echo/
echo Error: This batch file must be started with path of an existing folder
echo        or the name of a list file with one or more folder paths. It is
echo        not possible to use this batch file with root folder of a drive.
echo/
pause

:EndBatch
rem Restore the environment as set before usage of command SETLOCAL at top.
endlocal
回复时引用此帖
发表新主题 回复

标签
nextcloud, seafile, timestamp, total commander, winrar

主题工具

论坛规则  发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子
论坛启用 vB 代码
版面启用 表情符号
版面启用 [IMG] 代码
版面禁用 HTML 代码


所有时间均为北京时间, 现在的时间是 22:54:49.

本论坛带宽由迅通网络提供
SSL证书由TrustAsia提供

Copyright © 2000 - 2019 ClassiClub Forum All Rights Reserved.
粤ICP备09123456号