运行前强制批处理文件加载到 RAM

2024-03-10

我的便携式驱动器的管理分区中有一个批处理文件,驱动器根目录上有一个符号链接到该文件的快捷方式。该文件的目的是卸载驱动器并将其重新安装为指定的盘符(主要是为了方便)。

打开文件时,它是相对于当前字母而不是卷 ID 打开的,因此自然地,当发生卸载时,命令处理器不知道下一步要做什么,因为它会根据需要读取文件而不是缓存它。

有两个可预见的解决方案我能想到但无法弄清楚:

  1. 让文件在执行前缓存到 RAM 中
  2. 使文件相对于卷 ID 而不是挂载点运行(尝试使用 {VOLID}\file,其中 {VOLID} 是卷 ID,但无法找到该文件,尽管它在那里(正确导航到 {VOLID}\打开了目录,但尝试打开文件未能正确打开文件。

尽管有其他答案,将整个批处理脚本缓存到 RAM 是很简单的。

您只需要构建一个块,因为块在执行之前会被解析和缓存。

但块有一些缺点,百分比扩展不起作用,因此需要使用延迟扩展。
call and goto无法使用,因为它们会尝试再次从文件中读取。

(goto) 2>nul & (
  echo The script is started 
  REM Need to change the directory, else the unmount doesn't work
  c:
  mountvol e: /p
  mountvol g: \\?\Volume{VOLID}\
  dir G:\
  echo The script will end now
  REM Here you need the goto 2>nul hack to avoid an error message
)

The (goto) 2>nul &这里看起来很奇怪,但在SO:如何使批处理文件自动删除? https://stackoverflow.com/a/20333575/463115.
它也可以在没有goto,但随后脚本以错误消息结束

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

运行前强制批处理文件加载到 RAM 的相关文章

  • 如何在 Visual C++ 中宣传 Bonjour 服务

    我试图弄清楚这是否可能 但是通过 Visual C 宣传 Bonjour 服务的最简单方法是什么 您可以使用DNS服务发现客户 dns sd Windows Bonjour 安装程序把它放进去C Windows system32 dns s
  • 使用 Windows 命令行连接文本文件,删除前导行

    我需要连接一些相对较大的文本文件 并且更喜欢通过命令行来完成此操作 不幸的是我只有Windows 无法安装新软件 type file1 txt file2 txt gt out txt 允许我几乎得到我想要的 但我不希望 file2 txt
  • windows关闭tomcat后保持端口锁定

    我遇到了一个问题 该问题发生在不同站点的 3 台不同服务器上 问题是 当我关闭 Windows 服务器上的 Tomcat 7 和 8 5 版本 服务并尝试重新启动该服务后 该服务将无法启动 因为 tomcat 认为端口仍在使用中 以下是错误
  • 使用taskkill停止Windows服务

    我需要帮助来使用 C 终止 Windows 服务 现在要终止该服务 请使用以下选项 从命令 sc queryex ServiceName 发现后PID服务的 taskkill pid 1234 exemple f 为了便于阅读 但如果您明白
  • 比较批处理文件中的两个数字

    我在这个网站上搜索了我的问题 但没有找到解决我问题的方法 系统为玩家和计算机提供一个从 2 到 12 的随机数 这有 3 部分 X 大于 Y 如果 X 小于 Y 以及当 X 与 Y 相同 当我开始 bat 效果很好 我选择Play Game
  • MinGW Make 抛出“系统找不到指定的路径。”错误

    我正在尝试在 Windows 7 上使用 cmake 生成一个 c 项目 在实际创建项目之前 cmake 会对您的工具链进行快速测试 我正在使用 MinGW 这就是我的问题所在 Cmake 触发 make 构建 最终失败并返回 系统找不到指
  • 将 gnuplot 嵌入现有 QtWidget 中

    我正在用 C 创建一个 伪 实时绘图应用程序 使用 gnuplot 作为绘图后端 我的要求之一是绘图必须位于现有窗口内 而不是有一个单独的绘图窗口 gnuplot 默认为 Gnuplot 有一个选项可以指定 Qt 小部件 ID 这似乎适合我
  • 无法启动 Windows 服务,错误 1064

    我编写了一个在 Win10 上运行的 Windows 服务 它运行得非常好 直到我决定对其进行一些更改 我重写了一些逻辑 在调试和发布配置中进行了测试 一切都很好 然后 我使用卸载了当前版本的服务installutil exe u serv
  • 批处理脚本 FOR 循环仅设置输出的第一个字母 wsl --list -q

    我正在编写一个批处理脚本 将文件从 Windows 目录复制到 WSL 发行版 其中一部分是选择将文件复制到哪个发行版 如果我使用命令wsl list q如果给我以下输出 Ubuntu 22 04 Ubuntu 18 04 我正在尝试使用此
  • 批处理脚本生成特定年月、周和工作日的文件夹

    最近几天我一直在寻找这个问题的答案 有很多关于全年批量文件夹创建的答案 但不够具体 所以我非常感谢答案 所以我想要这样的文件夹结构 如下所示 2017 for example main folder for year 2017 01 JAN
  • 在运行时,我如何判断我是否在 WinXP+ 上? win32

    我正在进行一些 win32 字符串 API 调用 并假设字符串以宽字符串形式出现 这在 XP 和更高版本上有效 我该如何断言这一点 这是运行时检查还是编译时检查 我做错了吗 这是一个例子 typedef std basic string
  • Rails Windows Vagrant 响应时间非常慢

    我在跑 Vagrant 1 7 1 Rails 4 1 4 Thin 1 6 1 Windows 7 每个静态文件的发送时间都超过一秒 在我的 PC 上加载一个页面可能需要大约 20 秒 而在同事的 Linux 机器上则只需瞬间 有一些帖子
  • 串行 I/O 与 Windows/Windows CE 重叠/不重叠

    抱歉 这不是一个大问题 但更多的是帮助那些在这些特定问题上遇到问题的人 我正在解决的问题需要使用串行 I O 但主要在 Windows CE 6 0 下运行 然而 最近有人问我该应用程序是否也可以在 Windows 下运行 所以我开始着手解
  • 我可以从命令行或 MS-Dos 启用/禁用网络连接吗?

    我想从 Windows 8 中的命令行启用 禁用网络连接 netsh interface set interface Local Area Connection DISABLED 要启用该接口 您需要运行 netsh interface s
  • C# WMI 在远程 PC 上运行一个 exe,然后在同一台 PC 上运行另一个 exe,然后在网络路径上调用 Directory.CreateDirectory 并失败

    使用 C WMI 我在另一台计算机上启动一个 exe 该 exe 使用 C 启动另一个 exeProcess班级 最后一个 exe 尝试调用Directory CreateDirectory使用网络路径 又名 comp1 d dir Dir
  • 如何使用Python在Django for Windows中激活虚拟环境?

    我被告知要在 Django for Windows 中激活虚拟环境 我应该尝试 environment path Scripts activate 但是当我输入该命令时 cmd 返回此错误 该系统找不到指定的路径 我通过输入以下命令创建了虚
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • Node.js 升级在 Windows 中仍然显示旧版本

    我已使用 msi 安装程序下载并安装了新版本的 nodejs 4 1 2 之后我跑了node v 但它仍然显示旧版本 0 12 2 我尝试重新启动Windows 甚至卸载nodejs并重新安装它 但仍然显示相同的内容 为什么会发生这种情况
  • 在高 dpi Windows 平台上自动重新缩放应用程序?

    我正在编写一个需要在高 dpi Windows 192dpi 而不是 96dpi 上运行的 Qt 应用程序 不幸的是 Qt 框架尚不支持高 dpi 至少在 Windows 上 因此我的应用程序及其所有元素看起来只有应有尺寸的一半 有没有办法
  • 如何在 Windows 命令行中使用参数运行 Python 脚本

    这是我的蟒蛇hello py script def hello a b print hello and that s your sum sum a b print sum import sys if name main hello sys

随机推荐

  • jUnit 在多种文化中测试 Double.toString

    我有一个开源库 其中有大量比较字符串形式的数字的单元测试 这些测试通过良好en GB en US以及其他文化中数字通常以以下形式书写1 234 00 然而 在德国和法国等文化中 这些值的格式不同 因此测试会失败 如何强制 jUnit 测试运
  • R - 查找包含所有字符串/模式的所有向量元素 - str_detect grep

    样本数据 files in path c a 4 0 name 2015 NY RDS b 4 0 name 2016 CA RDS c 4 0 name 2015 PA RDS strings to find c 4 0 PA 我想要一个
  • 多个表行作为backbone.js 视图?

    所以我有一个数据网格 网格中的每个项目都有一个关联的模型和视图 我需要将每个项目渲染为two表行以实现所需的 UI 不 这不是我的设计 第一次尝试 在视图中render 方法 只需渲染两行并将它们添加到this el 然后我将每个视图附加到
  • 将向量转换为向量(优雅的方式)

    我想知道是否有一种优雅的方式或内置函数来转换vector
  • 在绑定到 Winforms 数据源的 gridview 的 bool 列中显示是/否?

    我有一个绑定到数据源 Windows 窗体 VB NET 的 gridview 其中一列是布尔类型的属性 我想在该列中显示 是 否 而不是 0 1 或 真 假 这可能吗 您可以编辑绑定列的显示吗 我遇到了同样的问题 不幸的是我没有找到优雅的
  • 使用 Tensorflow 对象检测 api 打乱训练数据集

    我正在使用 Faster RCNN 模型和 Tensorflow 对象检测 API 来开发徽标检测算法 我的数据集按字母顺序排列 因此有一百个阿迪达斯徽标 然后是一百个苹果徽标等 我希望在训练时对其进行洗牌 我在配置文件中添加了一些值 tr
  • UIResponder 问题

    今晚我一直在与 UIResponder 作斗争 这是我的困境 如果我输入 BOOL canBecomeFirstResponder return YES 到我的 mainViewController 然后我可以获得摇动事件 void mot
  • 无法打开流:是一个目录

    我在尝试使用 php 将上传的文件从临时文件夹移动到所需的文件时收到以下警告 警告 move uploaded file test function move uploaded file 无法打开流 是第 69 行 home filenam
  • MySQL 8 中索引 JSON 列

    所以我正在尝试 json 列 Mysql 8 0 17 应该可以使用多值 JSON 索引 如下所示 CREATE INDEX data nbr idx ON a1 CAST data gt nbr AS UNSIGNED ARRAY 我有像
  • 如何使用 JavaScript 函数验证字段?

    我创建了一个表单 从文档中的示例 https getbootstrap com docs 4 0 components forms在 验证 自定义样式 部分 我在 cumpolsory 输入中添加了 必需 属性 并且验证进展顺利 现在我需要
  • 如何将自定义 Lambda 层包含到管道堆栈中? (AWS-CDK)

    我有两堆 应用栈 管道栈 将自定义 lambda 层包含到管道堆栈中以便将代码位置信息中继回我的应用程序堆栈的官方方法是什么 我已经按照文档使常规 lambdas 工作 在这里找到 https docs aws amazon com cdk
  • ASP.Net MVC Angular 2 最终版

    有人尝试过 Angular 2 RC Final 和 ASP Net MVC 吗 我在使用 ASP Net MVC 配置 Angular 2 RC 6 时遇到问题 直到 beta 17 一切正常 具有以下配置的 package json 似
  • “npm start”导致错误 - ENOENT:没有这样的文件或目录... package.json [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我尝试使用 NPX 创建一个 React 应用程序 一切都很顺利 但是当我跑步时npm start 我收到以下错误 np
  • 如何为 3 组添加一些列值?

    我有 3 列 SAMPN PERNO 循环 以及对应于3种模式的实用程序 角豆和步行 我想添加具有相同 SAMPN PERNO 循环的行的实用程序 适用于 car car bus bus walk walk walk bus 和 Bus w
  • Sqlite 数据库未从 Android 资产文件夹复制

    我正在尝试将名为 adinpect 的数据库从资产文件夹复制到应用程序数据库文件夹 但它不起作用 代码 在主活动 onCreate 中 仅用于测试 try String destPath data data getPackageName d
  • Rails 引擎线程安全 - ActiveResource

    我的 Rails 3 1 应用程序使用一个引擎 我想知道对该引擎的访问是否是线程安全的 我的引擎中有 lib mymodule rb 它看起来像这样 module MyModule def self my method begin data
  • XSLT 递归父/子组合

    非常有趣的Python赏金问题 https stackoverflow com questions 37170543 recursively search for parent child combinations and build tr
  • 识别 Eigen 中的临时对象创建

    正如 Eigen C 库中的文档在许多地方指出的那样 为了在计算时间方面获得最大性能 我们需要尽可能避免临时对象 在我的应用程序中 我处理动态大小矩阵 我想知道在计算中临时矩阵的创建 有没有通用的方法来识别临时矩阵的创建 例如 Eigen
  • opencv imshow with waitKey 在 Mac OS X 10.10.2 上太慢(使用 c++)

    我在 Mac OS X 10 10 2 上使用 opencv c 来处理视频帧并显示它们 使用 waitKey 来显示视频的 imshow 的性能极其缓慢 我有以下代码 它可以正确显示高清 1920x1080 灰度帧 只是它的运行速度慢了大
  • 运行前强制批处理文件加载到 RAM

    我的便携式驱动器的管理分区中有一个批处理文件 驱动器根目录上有一个符号链接到该文件的快捷方式 该文件的目的是卸载驱动器并将其重新安装为指定的盘符 主要是为了方便 打开文件时 它是相对于当前字母而不是卷 ID 打开的 因此自然地 当发生卸载时