2

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

 1 year ago
source link: https://www.v2ex.com/t/884166
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

V2EX  ›  程序员

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

  sjmcefc2 · 7 小时 4 分钟前 · 824 次点击

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

24 条回复    2022-10-01 16:58:23 +08:00
eason1874

eason1874      6 小时 28 分钟前

别调用快捷方式,直接填程序路径,后面跟参数。如果你不知道程序安装在哪里,你就选择它的快捷方式在右键菜单点“属性”,在选项卡切换到“快捷方式”,目标那栏就是程序路径

另外说一句,7zip 比 winrar 好用吧,开源免费无广告,命令行也简单好用
PrinceofInj

PrinceofInj      6 小时 21 分钟前

可能只是管理里面看不到了。试试 schtask
XavierOops

XavierOops      6 小时 18 分钟前

python ,以前拿 python 定时压缩备份过我的世界地图存档
ch2

ch2      6 小时 3 分钟前

不要用快捷方式,用完整路径
sjmcefc2

sjmcefc2      5 小时 21 分钟前

7zip
@PrinceofInj 这个 schtask 搜不到。

@eason1874 这个有什么参考的资料吗?比如命令都怎么写? windows 7 下面

@XavierOops 需要备份的文件在 smb 共享盘上


@steins2628 这个看起来很好啊,
Tumblr

Tumblr      5 小时 9 分钟前

@PrinceofInj #2 不是 shdtask ,是 taskschd.msc ,那个工具叫 Task Scheduler 。
sjmcefc2

sjmcefc2      5 小时 5 分钟前

@Tumblr 这工具有的,就是有一个叫做计划任务的文件夹找不到。有一篇攻略说 winrar 要想实现定期压缩,就要 1.用 winrar 做一个快捷方式,2 不能添加计划任务,二是直接添加到计划任务文件夹
p1956

p1956      4 小时 53 分钟前

装 WSL ,用 linux 系统呢?
ahhui

ahhui      4 小时 53 分钟前

@sjmcefc2 计划任务直接填运行程序的完整路径,配好参数就可以,啥都能运行,和快捷方式毫无关系,我不知道哪个教程说的居然要快捷方式。

一个例子:

新建一个普通计划任务,触发条件你自己选,然后到运行程序部分,程序写:

c:\myrar\unrar.exe

参数写:
x c:\yourfile.rar *.gif c:\extractfolder\

如果参数里,包含空格,需要用双引号括起来,比如解压目标是 extract folder ,就是这样:

x c:\yourfile.rar *.gif "c:\extract folder\"

你按需运行下试试
sjmcefc2

sjmcefc2      4 小时 47 分钟前

@ahhui 还真有个教程这样说的,就是关键字“winrar windows 计划任务 ”
Tumblr

Tumblr      4 小时 23 分钟前

@sjmcefc2 #8 有这篇攻略的链接么?据我所知,在 Windows 下只有一个叫 Startup 的文件夹是提供开机启动的,并没有什么“计划任务”的文件夹可以提供定时任务。
在 Windows 里定时执行任务,一般有两种方式:
1. 通过自带的计划任务。
2. 启动一个常驻的进程,然后通过这个进程定时执行任务。
除以上,并没有第三种可以提供定时任务的方法。

另外题外话,我觉得是时候升级 Windows 11 了,如果硬件支持不了最起码 Windows 10 也是好的,现在的一些工具对 Windows 7 的支持太不友好了。
sjmcefc2

sjmcefc2      3 小时 59 分钟前

@Tumblr url 贴不上,现在很多还是 win7 ,没办法升级
PrinceofInj

PrinceofInj      3 小时 47 分钟前

@sjmcefc2 记错了,应该是 schtasks
clorischan

clorischan      3 小时 9 分钟前

然后提醒一下
如果备份的磁盘是从 SMB 映射的磁盘
则创建磁盘的系统用户要求处于已登录状态
并且用于备份的进程(不管是用任务计划还是别的什么启动的 WinRAR / 7z ...)
也需要以相同的用户以交互模式运行

如果不是同用户, 或者同用户启动但是以非交互模式运行, 都是无法访问映射的磁盘的.
sjmcefc2

sjmcefc2      2 小时 8 分钟前

@clorischan 就是已经映射了也不行吗?
比如 smb 的硬盘,已经映射到本地 z 盘?
Tumblr

Tumblr      1 小时 45 分钟前

@PrinceofInj #14 这个命令只是提供计划任务管理的,和通过管理器打开的操作没太多差别,这属于是把简单问题复杂化了。

@ahhui #10 是的,很多执行失败的计划任务是执行账户和当前账户的环境变量不同,导致一些相对路径的命令找不到。用绝对路径向来是一个比较稳妥的方法。
yjd

yjd      1 小时 37 分钟前

win7 自带任务计划+WinRAR 就可以实现你目的。
如果参数命令太多,写到一个批处理。计划任务调用即可。
真搞不懂一堆本末倒置的方案咋想的
计划任务列表有个 bug ,手动测试时,你看他一在卡着,实际是执行成功,需要手动刷新下。
systemcall

systemcall      1 小时 26 分钟前

建议写一个批处理,全部用绝对路径,计划任务里面添加这个批处理
计划任务的触发器是可以调的,你先配置好 Windows 的自动登录,再把那个任务的触发器调成在用户登录后执行,使用的用户调成你那个用户,就行了
触发器加点延时,因为 smb 映射磁盘要点时间
clorischan

clorischan      1 小时 24 分钟前

@sjmcefc2

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

例如:

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

那么在使用任务计划的的情况下
运行任务时,请使用下列用户帐户: admin (与创建映射磁盘的用户必须相同)
只在用户登录时运行: √ (只有选择此项才是以交互模式运行,选择不管用户是否登录都要运行为非交互模式)
--- 以上 2 条都满足才能访问直接映射磁盘 Z:\ 否则只能使用 \\storage_server\share 这样的远程路径访问(需要有凭据
然后操作为启用程序 : 调用 7z 执行相关操作
yjd

yjd      27 分钟前

网络 smb 根本不是啥事。
windows 可以记忆网络访问凭据。更省事直接写在批处理里用 net use \\xxx\ipc$ 连接下。
再者 winrar.exe 执行命令行根本就没显示 UI 不需要去想那个交互模式设定,再不济还有 Rar.exe 纯命令行。
1 ,访问 smb 的路径,需要 smb 服务器账号有浏览和读取权限就行
2 ,本地调用 winrar 打包,存储压缩包的目录有写权限就行。本地账号和 smb 账号是两回事,不要理解错。
3 ,计划任务本身执行权限就可以设置为 system 级,直接选最高权限即可。因为如果你选账号还得填密码 233
crab

crab      10 分钟前

试下写 bat 里面,间接调用的方式.

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK