尝试从批处理文件中查找并加载信息后收到错误

2024-01-14

我一直在批量进行一些实验,目前正在开始一个小型的文本冒险,但是当我测试保存游戏时,程序返回错误“系统找不到指定的文件”。有人可以帮我吗? (如果有帮助的话,我在学校电脑上)。

这是我的相关代码片段:

pushd \\schoolname\MyName$\My Documents\Discount Zork
popd

< savegame.sav (    
  set /p timesPlayed
)

任何帮助将不胜感激。提前致谢!


我假设您的意图是从您的savegame.sav文件,所以也许从一开始就改变你的方法会对你很有帮助。

我提供的第一个建议是始终在游戏变量中使用相同的字符作为前缀。(在下面的例子中,我选择了{,为了改善外观,我还给它们添加了后缀},这是可选的)

为了确保以该字符为前缀且已存在于本地环境中的变量不会干扰我们的游戏变量,我们首先禁用它们。

现在我们创建三个带标签的部分,用于显示所有变量及其值、将所有变量保存到文件中以及从该文件加载所有变量。

那么我们就可以call根据需要使用这些标签。

这是一个不同的基本示例来展示它们的工作原理:

@Echo Off
SetLocal EnableExtensions DisableDelayedExpansion

Rem Changing the current working directory, and pushing the previous to stack
PushD "\\schoolname\MyName$\My Documents\Discount Zork" 2> NUL || GoTo :EOF

Rem Disabling any predefined local variables beginning with {
For /F "Delims==" %%G In ('"(Set {) 2> NUL"') Do Set "%%G="

Rem Simulating first gameplay values for demonstration
Set /A {timesplayed}=3,{health}=80,{strength}=126,{defence}=76,{attack}=57

Rem showing values
Call :ShowVals

Rem saving values to file
Call :SaveVals

Rem zeroing variables for demostration
Set /A {timesplayed}={health}={strength}={defence}={attack}=0

Rem showing new values
Call :ShowVals

Rem loading saved values back into game
Call :LoadVals

Rem proving reloaded values
Call :ShowVals

Rem Returning to previous working directory from stack, and ending script
PopD
GoTo :EOF

:ShowVals
Set {
%SystemRoot%\System32\timeout.exe /T 7 1> NUL
Exit /B

:SaveVals
((Set {) 2> NUL) 1> "savegame.sav"
Exit /B

:LoadVals
For /F "UseBackQ Delims=" %%G In ("savegame.sav") Do Set "%%G"
Exit /B
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试从批处理文件中查找并加载信息后收到错误 的相关文章

  • 如何运行 Windows 批处理文件但隐藏命令窗口?

    如何运行 Windows 批处理文件但隐藏命令窗口 我不希望 cmd exe 在执行文件时在屏幕上可见 这可能吗 如果你写一个非托管程序并使用创建进程 https learn microsoft com en us windows win3
  • 在 C# 中编写批处理脚本的好方法是什么?

    我想用 C 编写简单的脚本 我通常会使用 bat 或 4NT btm 文件 复制文件 解析文本 询问用户输入等等 相当简单 但在批处理文件中正确执行这些操作确实很困难 例如没有例外 我熟悉像 AxScript 这样的命令行 脚本 包装器 这
  • 使用“for”循环迭代目录中的所有文件

    如何使用 a 迭代目录中的每个文件for loop 我如何判断某个条目是目录还是文件 这会递归地列出当前目录及其子目录中的所有文件 并且仅列出文件 for r i in do echo i 此外 如果您在批处理文件中运行该命令 则需要将 符
  • xcode 错误:...此类与键 ibShadowedLargeTitleTextAttributes 的键值编码不兼容

    我不断收到此错误 在我使用颜色集之前 该应用程序就可以运行 该错误说明了一些有关ibShadowedLargeTitleTextAttributes 我没有为大标题阴影设置任何颜色 我使用默认值 透明 我重新启动了 Xcode 使用了阴影颜
  • 如何使用 x64 运行 cl?

    我遇到了和这里同样的问题致命错误 C1034 windows h 未设置包含路径 https stackoverflow com questions 931652 fatal error c1034 windows h no include
  • 如何通过批处理文件打开Windows防火墙上的端口

    有没有办法在批处理文件中通过批处理文件打开 Windows 上的特定端口 如果让安装程序为我们的服务器应用程序执行此操作 而不是让用户手动执行此操作 那就太好了 Use 执行程序 http technet microsoft com en
  • 检查 FTP 文件夹是否存在任何与掩码匹配的文件的批处理文件

    我需要创建一个批处理文件来访问受保护的 FTP 站点 检查文件类型 txt 存在 如果存在则进行下一步 如果不存在则返回0并结束作业 我进行了广泛的搜索 但找不到任何解决方案 这不是一项简单的任务 特别是当您需要检查与掩码匹配的文件 而不是
  • 以不可见模式运行主bat文件

    我有一个大师 bat文件有 call file1 bat call file2 bat call file3 bat call file4 bat 我想在我的 Windows Server 2008 上安排它以静默 不可见模式运行 我正在寻
  • 获取文件夹及其子文件夹中最长文件路径的长度

    我正在寻找一个可以从命令行 批处理 PowerShell 运行的脚本 该脚本将遍历文件夹及其子文件夹 并返回一个数字 该数字是最长文件路径的长度 我已经看到了一些批处理和 PowerShell 脚本 例如 如何在 Windows 中查找路径
  • 由于从 UIImagePickerController 中的空闲列表中出队的指针签名无效,应用程序崩溃

    我面临的问题是UIImagePickerController选择 当我从照片库应用程序中选择来源时 由于以下原因而崩溃从空闲列表中出列的指针的签名无效 然后 如果我再次运行 它可以使用相同的代码正常工作 我在谷歌上搜索 发现一个与我的查询相
  • 如何使用批处理文件实现快速排序?

    虽然通常情况下 为工作选择正确的语言是件好事 但有时尝试用一种非常不合适的语言做一些事情可能会很有启发 它可以帮助您更好地理解问题 也许你不知道have按照您认为的方式解决它 它可以帮助您更好地理解该语言 也许它支持的功能比您想象的还要多
  • 批量双延迟扩容?

    如果有意义的话 我正在尝试将延迟的扩张加倍 这就是我想要的 set var1 hello set var2 var1 set var3 var2 echo var3 然后有hello被显示 这不是我的实际代码 而是我需要它如何工作的示例 甚
  • 从批处理文件中获取java版本

    如何获取java版本并希望从批处理文件中获取java版本中的 6 我尝试了下面的脚本 但没有成功 REM check java exists using JAVA HOME system variable if JAVA HOME ECHO
  • REG ADD - 语法无效

    我试图通过在批处理文件中使用以下代码行来修改注册表中的值 但当我在参数周围使用双引号时 我不断收到 错误 语法无效 而当我使用单引号时 我不断收到 无效的键名 REG ADD HKLM SOFTWARE Microsoft Windows
  • 批处理 - IF ELSE 启动功能的条件无论如何都会执行

    提前抱歉 如果这里有一个线程可以回答我的问题 我从周五开始就一直在这个问题上并四处寻找 我确实发现了一些类似的问题 但我无法应用或适应这个问题 据我所知 简而言之 我有一个批处理脚本 它创建目录的文本文件 然后该脚本在目录中搜索文件 如果文
  • 忽略批处理文件中的百分号

    我有一个批处理文件 可将文件从一个文件夹移动到另一个文件夹 批处理文件是由另一个进程生成的 我需要移动的一些文件中包含字符串 20 move y myserver myfolder file 20name txt myserver othe
  • 最后一个参数中的正斜杠会导致批处理文件目录(“%~dp0”)的路径发生更改

    我正在学习如何在批处理脚本中使用参数 并最终创建了某种用于读取参数和设置参数的模板 echo off SetLocal EnableDelayedExpansion set needextra set errstat set noflag
  • 2 批字符串问题

    1 是否有任何内置函数可以告诉我变量的内容是否仅包含大写字母 2 有没有办法查看变量是否包含字符串 例如 我想查看变量 PATH 是否包含 Ruby 对于第 1 部分 findstr就是答案 您只需使用正则表达式功能即可errorlevel
  • 如何使用命令行压缩文件?

    我想使用批处理文件命令 Windows XP 批处理文件 压缩目录 例如 如果我想解压缩一个文件意味着我可以使用jar xf file zip java bat 文件命令 就像我想要一个命令行批处理来压缩目录一样 如果您使用的是 Ubunt
  • 如何在批处理文件中回显换行符?

    如何从批处理文件输出中插入换行符 我想做类似的事情 echo hello nworld 这会输出 hello world Use echo hello echo echo world

随机推荐