想通过 winrar 定期压缩一些文件,有没有除了自己 win7 自带的计划程序外的方法呢?

2022-10-01 10:04:40 +08:00
 sjmcefc2

需求:在 win7 上定期压缩文件 困难:搜索了一些材料,发现我的 win7 上都没有计划任务这个文件夹,只有计划程序,通过计划程序来调用 winrar 的快捷方式,总是无法成功。 求助:有没有 win7 上可以用的非系统自带的计划程序?可以完成我的这个备份的需求呢?

3015 次点击
所在节点    程序员
31 条回复
systemcall
2022-10-01 15:41:54 +08:00
建议写一个批处理,全部用绝对路径,计划任务里面添加这个批处理
计划任务的触发器是可以调的,你先配置好 Windows 的自动登录,再把那个任务的触发器调成在用户登录后执行,使用的用户调成你那个用户,就行了
触发器加点延时,因为 smb 映射磁盘要点时间
clorischan
2022-10-01 15:44:20 +08:00
@sjmcefc2

就是映射了才不行, 映射磁盘只对当前用户下以交互模式运行的程序有效

例如:

系统用户为: admin
然后从 SMB \\storage_server\share 映射一个盘符到本地 Z:\
使用任务计划调用 7z

那么在使用任务计划的的情况下
运行任务时,请使用下列用户帐户: admin (与创建映射磁盘的用户必须相同)
只在用户登录时运行: √ (只有选择此项才是以交互模式运行,选择不管用户是否登录都要运行为非交互模式)
--- 以上 2 条都满足才能访问直接映射磁盘 Z:\ 否则只能使用 \\storage_server\share 这样的远程路径访问(需要有凭据
然后操作为启用程序 : 调用 7z 执行相关操作
yjd
2022-10-01 16:41:21 +08:00
网络 smb 根本不是啥事。
windows 可以记忆网络访问凭据。更省事直接写在批处理里用 net use \\xxx\ipc$ 连接下。
再者 winrar.exe 执行命令行根本就没显示 UI 不需要去想那个交互模式设定,再不济还有 Rar.exe 纯命令行。
1 ,访问 smb 的路径,需要 smb 服务器账号有浏览和读取权限就行
2 ,本地调用 winrar 打包,存储压缩包的目录有写权限就行。本地账号和 smb 账号是两回事,不要理解错。
3 ,计划任务本身执行权限就可以设置为 system 级,直接选最高权限即可。因为如果你选账号还得填密码 233
crab
2022-10-01 16:58:22 +08:00
试下写 bat 里面,间接调用的方式.
sjmcefc2
2022-10-01 17:17:00 +08:00
反馈一下,7z 的 bat 命令+windows 计划任务完美解决。
其他的 UI 工具确实挺好,但是有些机器上会出现 dll 缺失的问题,这种基本无解,因为感觉即使是一个安装盘装的系统,dll 好像也不太相同。
sjmcefc2
2022-10-01 17:17:29 +08:00
系统自带的工具比其他的好很多,没有什么其他的需要安装的依赖问题。
kemistep
2022-10-01 18:51:21 +08:00
提供参考:
[zip 压缩备份文件并 ignore 部分文件 - ministep]( https://bigdata.ministep.cn/423/)

windows 使用 7zip 备份文件夹并 ignore 部分文件

定时执行,就放到 windows 的任务调度程序中,手动设置下即可;
kemistep
2022-10-01 18:52:36 +08:00
附上命令行:

cmd 执行
## 备份 python 文件夹
"C:\Program Files\7-Zip\7z.exe" a G:\backups\windows_localhost\backup_python_v101.zip D:\code\python -xr!*\venv\* -xr!*\.git\* -xr!*\.ipynb_checkpoints\* -xr!*\__pycache__\* -xr!*\history\* -xr!*\histroy\* -xr!*\tmp\* -xr!*.log -xr!*.mp3 -xr!*.mp4 -xr!*.sqlite3 -xr!*.ipynb -xr!*.ttf


-xr 为忽略部分文件夹或者文件

这是 cmd 命令,可以写成一个 bat 脚本即可;
sjmcefc2
2022-10-02 09:50:43 +08:00
发现有一个问题,就是现在没有计算备份的进度,有可能 10 个 zip 一起备份,就会很慢。
如果想根据备份对象的大小来计算启动备份的时间,这个有没有比较经典的做法呢?
现在能想到的就是文件大小 /拷贝速度 计算出一个 zip 需要的时间,然后依次类推,感觉做法很傻啊
flynaj
2022-10-03 01:33:04 +08:00
命令行是 rar.exe 不要快捷方式,要完整路径 参数。
并行满,你全部写到一个批处理里面,顺序备份。
byzod
2022-10-03 19:14:27 +08:00
@sjmcefc2

start "" rar.exe zip1
start "" rar.exe zip2

是并行

rar.exe zip1
rar.exe zip2

是串行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/884166

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX