FC命令找不到现有目录

问题描述 投票:0回答:1

当我运行这段代码时。fc 说它没有找到任何这样的目录。这就是它被绊倒的地方,在 fc "C:\Users\%username%\AppData\LocalLow\Amistech\My Summer Car\defaultES2File" "Saves\backup_%curdt%\defaultES2File". 如果你想要的话,我会添加更多的代码,但这是最重要的一点。

:check
echo checking
attrib "data.txt" -h
pause
fc "C:\Users\%username%\AppData\LocalLow\Amistech\My Summer Car\defaultES2File" "Saves\backup_%curdt%\defaultES2File"
pause

这里是目录存在的证明https:/drive.google.comfiled1kp02bvZu9XA-sV2wD8HQWUfKUIuJUfrjview?usp=分享。

这里是控制台的输出。我不知道为什么,但它显示在大写,我不知道这是否重要。

https:/drive.google.comfiled1WXzosPaMY5GD0KcBg74ZvOzX0sgeZHXVview?usp=sharing。

windows batch-file
1个回答
0
投票

你的问题是你没有使用正确的文件名。

你的文件是一个文本文件,应该用以下几个字来命名。.txt 扩展名。

"C:\Users\%username%\AppData\LocalLow\Amistech\My Summer Car\defaultES2File.txt"

除此之外,我还建议你在对比中也使用备份文件的绝对路径。目前 "Saves\backup_%curdt%\defaultES2File" 是相对于命令运行时的当前目录而言的。如果你事先专门把目录改到了正确的位置,这样做也许可以,但这样做会更安全。至少,你可以为当前目录使用一个变量,例如 "%CD%\Saves\backup_%curdt%\defaultES2File.txt",或者 "%__CD__%Saves\backup_%curdt%\defaultES2File.txt". 甚至有可能你的备份会进入一个相对于正在运行的批处理文件的位置,所以你可以使用。"%~dp0Saves\backup_%curdt%\defaultES2File.txt" 以确保其确实如此,并且不受当前目录变化的影响。


我建议大家一定要进入Windows资源管理器的设置中,特别是停止默认隐藏已知文件扩展名。这样就可以随时了解每个文件所携带的扩展名。

在新版本的Windows中,你应该能够在资源管理器功能区中做到这一点,通过将复选标记切换到 文件名扩展名 在'显示隐藏'部分。在早期版本的Windows中,您可能需要进入 "文件夹和搜索选项 "设置,以取消勾选 "隐藏"。隐藏已知文件类型的扩展名 复选框。

© www.soinside.com 2019 - 2024. All rights reserved.