Win7命令行bat文件

Win7命令行bat文件

戴尔 Inspiron 3541 笔记本电脑上的操作系统是 Win 7 Home 32 位。

我正在制作 CD 的 *.inf 文件,该文件将执行以下操作:

  • 安装 Dosbox.exe 模拟器
  • 在硬盘上为 DOS 游戏创建目录
  • 将 dos 游戏从 CD 复制到硬盘上创建的目录。

到目前为止我已经完成的工作如下

@echo off
echo WELCOME TO WOLF3D COPYER.
echo This BAT file will 1st install Dosbox.
echo Then make the directory and copy the game to the HD.
pause
{I forgot to add this line, I am still working on the synctext} start=dosbox.exe
mkdir C:\dgames\dgames\wolf3d
copy

我对 cmd 的语法感到困惑,copy它告诉 inf 文件无论驱动器号是什么都查看 CD-ROM 驱动器。我记得 cmd 是类似$%drive letter%$或类似的。我已经有一段时间没用它了。当外部 USB 盒中的 D: 硬盘驱动器崩溃时,我 txt 文件中的所有笔记都消失了。有人知道 cmd syncwince 是什么吗?

答案1

这将起作用,但是您必须以管理员身份运行脚本,否则即使您是管理员,fsutils 也将无法工作。

set cdrom=None
for %%d in (a b c d e f g h i j k l m n o p r s t u v w x y z) do (
    fsutil fsinfo drivetype %%d:|find "CD-ROM">nul&&set cdrom=%%d:
      )
echo %cdrom%

另外,使用 setx 命令,您可以创建永久的系统环境变量以供以后重复使用

答案2

您提供的文件是 BAT(批处理)文件,而不是 INF(MSIEXEC 使用的安装信息)文件。

在批处理文件中,如果要引用与批处理文件位于同一驱动器上的文件,可以将驱动器号替换为%~d0- 也就是说,如果 DBINST.EXE 与 SETUP.BAT 位于同一驱动器上,并且 SETUP.BAT 想要运行 DBINST.EXE,则可以将其调用为%~d0DBINST.EXE。您可以在此找到有关此类表达式的更多信息SS64 的批处理参数页面在“参数扩展”部分中。

答案3

我终于搞清楚了复制行的正确语法。现在它 100% 正常工作了。[COPY“test file.doc” “C:\dgames\dgames”]。下面是完成的 bat 文件。

@echo off echo 欢迎使用 WOLF3D COPYER。 echo 此 BAT 文件将创建目录并将游戏复制到 HD。 pause
mkdir C:\dgames\dgames cd /d "%~dp0" cls echo 您的 %~d0 驱动器。 cd %~d0 dir cd temp COPY "test file.doc" "C:\dgames\dgames" pause

相关内容