7zip命令行备份脚本表现得很奇怪

时间:2011-08-27 19:17:04

标签: batch-file backup 7zip

我正在为个人使用创建一个小的备份脚本,它在最新版本的7zip,Win7x64上运行率为99%:

  

:: u:更新存档

     

:: -t7z:使用7z文件类型(兼容性较差且结果较小)

     

:: -mx = 9:“超级”压缩

     

:: -ms = off:不创建实体存档(它们与更新存档模式不兼容)

     

:: -mmt = off:启用多线程

     

:: -r:递归(遍历所有子目录)

     

:: -ssw:压缩锁定的文件

     

:: -w:工作目录到G:驱动器(没有临时文件从磁盘复制到磁盘)

     

@echo“%userprofile%\ Desktop”>> LIST.TXT

     

@echo“%userprofile%\ Documents”>> LIST.TXT

     

@echo“%userprofile%\ Downloads”>> LIST.TXT

     

@echo“%userprofile%\ Saved Games”>> LIST.TXT

     

@echo“%userprofile%\ Pictures”>> LIST.TXT

     

“C:\ Program Files(x86)\ 7-Zip \ 7z.exe”u -t7z -mx = 9 -ms = off -mmt = on -r -ssw -wg:“G:\ AutoSaveC \ SaveC .7z“@ list.txt

     

del list.txt

     

shutdown -s -t 180

有两个问题:

1-即使存档包含所有预期的文件夹和文件,它也包含从未打算存在的东西(只有原始文件夹中的部分文件):

  

%USERPROFILE%\应用程序数据

     

%USERPROFILE%\音乐

2-它还向我发出警告,拒绝访问文件夹,我从不告诉它:

  

C:\ Users \ LocalAdmin \ AppData \ Local \ Application Data \:警告:拒绝访问。   C:\ Users \ LocalAdmin \ AppData \ Local \ ElevatedDiagnostics \:警告:访问被拒绝。   C:\ Users \ LocalAdmin \ AppData \ Local \ History \:警告:访问被拒绝。   C:\ Users \ LocalAdmin \ AppData \ Local \ Temp \ msdtadmin \:警告:访问被拒绝。   C:\ Users \ LocalAdmin \ AppData \ Local \ Temporary Internet Files \:警告:访问被拒绝。   C:\ Users \ LocalAdmin \ Application Data \:警告:访问被拒绝。   C:\ Users \ LocalAdmin \ Cookies \:警告:拒绝访问。   C:\ Users \ LocalAdmin \ Local Settings \:警告:访问被拒绝。   C:\ Users \ LocalAdmin \ Recent \:警告:访问被拒绝。   C:\ Users \ LocalAdmin \ SendTo \:警告:拒绝访问。

你知道我做错了什么吗?或者它是7zip的错误?

2 个答案:

答案 0 :(得分:2)

考虑到这些目录中的文件可能存在软链接。特别是Users文件夹中填充了虚拟路径。其中存在一些路径,仅用于将仍然使用它们的旧应用程序重定向到正确的位置。

答案 1 :(得分:1)

为什么不将DIR的输出重定向到您的文本文件,而不是以您的方式回显目录的内容?这样,您就可以过滤掉隐藏文件,.lnk文件,系统文件以及许多其他文件过滤选项。例如,要清除隐藏的,系统和.lnk文件:

DIR "%userprofile%\Desktop" /b /s /a:-h-s | FIND /v "*.lnk">>"C:\some\file.txt"
/ b开关只返回filename.ext,/ s开关返回所述目录AND子目录中的所有文件,/ a:-hs开关删除所有隐藏文件和系统文件。当然,FIND / v意味着找到所有不包含以下字符串的文件。

相关问题