gpt4 book ai didi

windows - 在运行之前强制批处理文件加载到 RAM

转载 作者:可可西里 更新时间:2023-11-01 13:55:44 27 4
gpt4 key购买 nike

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

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

有两个我能想到但想不通的可预见的解决方案:

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

最佳答案

尽管有其他答案,但将整个批处理脚本缓存到 RAM 是微不足道的。

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

但是 block 有一些缺点,百分比扩展不起作用,因此你需要使用延迟扩展。
callgoto 不能使用,因为它们会再次尝试从文件中读取。

(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
)

(goto) 2>nul & 在这里看起来很奇怪,但在SO:How to make a batch file delete itself? 中有解释。 .
它也可以在没有 goto 的情况下工作,但是脚本以错误消息结束

关于windows - 在运行之前强制批处理文件加载到 RAM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37933555/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com