介绍
我正在尝试设置一个批处理文件,可以使用 robocopy 将一些 AppData 文件夹备份到网络位置。
但是(Total Commander 使用的文件wincmd.ini
)给我带来了问题:robocopy 说它已将文件复制到网络位置,但是这取决于我如何检查此文件的内容,这是真是假。
检查内容的方法概述如下。
方法 1
- 导航
%APPDATA%\Roaming\GHISLER
- 右键单击文件
wincmd.ini
并单击Edit
在任务管理器中显示"C:\WINDOWS\system32\NOTEPAD.EXE" C:\Users\redacted\AppData\Roaming\GHISLER\wincmd.ini
方法 2
- 在 Total Commander 中我点击
Configuration
->Change settings file directly
在任务管理器中显示 notepad.exe C:\Users\redacted\AppData\Roaming\GHISLER\wincmd.ini
用记事本打开的文件的路径wincmd.ini
是相同的(至少在我看来,也许我忽略了一些东西),但内容却不一样:
这显示第 3 行存在差异,但整个文件中还存在许多其他差异。
实际问题
方法 1 显示了 robocopy 复制的文件内容。如果我将此内容复制/粘贴到 Winmerge 并将其与复制到网络位置的内容进行比较,则文件是相同的。
方法 2 显示了 Total Commander 使用的文件内容。如果我将此内容复制/粘贴到 Winmerge 并将其与复制到网络位置的内容进行比较,那么这两个文件有 ( 明显 ) 不同。
我的最终目标是以自动方式将应用程序实际使用的 Total Commander 设置(即方法 2 所示)复制到网络位置。目前此方法失败,因为复制的文件内容与 Total Commander 使用的文件内容不匹配。
这是怎么回事?我该如何对齐方法 1 和 2 的内容?
答案1
搜索了一段时间后,我发布了Total Commander 论坛。有一位成员给我指出了正确的方向(论坛主题)。
我看到的差异是由于App-V。一个文件是在 App-V 气泡内创建的,另一个文件是在气泡外创建的。这样创建的文件具有不同的内容,具体取决于我是在 App-V 气泡内(我的问题中的方法 2)还是在气泡外(方法 1)访问它。
为了避免进一步混淆,我从 App-V 环境中卸载了 Total Commander,并将其安装为常规应用程序。现在wincmd.ini
所有应用程序都可以访问该文件的单一版本。