【问题标题】:Create a simple batch file that extract, install and more创建一个简单的批处理文件,用于提取、安装等
【发布时间】:2016-07-26 13:25:18
【问题描述】:

我的日常工作之一是将 下载的 ZIP 文件 中的内容提取到 USB STICK 驱动器 中,该驱动器必须是快速格式化为 FAT32

在我将 ZIP 文件 解压到 USB STICK 后,我需要一个特别的文件(称为 setup.bat右键单击并选择以管理员身份运行。

最后一步是从计算机中弹出USB STICK,并将USB STICK交给销售人员。

现在我的问题是,我可以创建一个 批处理文件 来为我完成这项工作吗?我将USB STICK驱动器插入机器并运行BATCH FILE,一切都可以自动完成吗?

第 1 步 插入 U 盘(当然这是我的手动步骤。)

第 2 步 运行我们创建的批处理文件。

第 3 步 批处理文件执行:快速格式化U盘为FAT32 我不需要为该卷命名。它可以是空的。

第 4 步 批处理文件执行: 将位于下载文件夹中的 ZIP 文件中的内容提取到 USB 记忆棒中。 (压缩文件名称为:plc-stick_8.3)

第 5 步 批处理文件执行:以管理员身份运行特定文件:setup.bat 这是一个位于软件包中的文件,已从 zip 文件中提取到 USB 记忆棒中。

第 6 步 批处理文件执行:卸载/弹出 U 盘

非常感谢您的帮助,祝您有美好的一天

sambul35 非常感谢您的帮助。它几乎完成并且完美。我只收到了几条警告信息。我很确定这是您的条件中缺少的东西。任何建议我做错了什么?你可以阅读下面的执行。再次感谢您。


The type of the file system is FAT32.
QuickFormatting 1.9 GB
Initializing the File Allocation Table (FAT)...
Format complete.
       1.9 GB total disk space.
       1.9 GB are available.

        4,096 bytes in each allocation unit.
      490,432 allocation units available on disk.

           32 bits in each FAT entry.

Volume Serial Number is 2495-4F8F

Waiting for 0 seconds, press a key to continue ...

Unpack completed. Running setup...

The system cannot find the path specified.
'bootinst.bat' is not recognized as an internal or external command,
operable program or batch file.

Install completed

'removedrive' is not recognized as an internal or external command,
operable program or batch file.
All tasks done. Remove Flash Drive.

【问题讨论】:

  • 是的,这是可能的。
  • 我刚刚找到了用于格式化的命令行。我指的是步骤#3。格式 /FS:FAT32 /Q D:
  • 现在我需要知道如何进行第 4 步
  • 您使用的是什么操作系统版本?是否所有 USB 闪存驱动器的品牌、型号和尺寸都相同?它们是从工厂新预格式化为 FAT,还是与现有文件系统一起使用,或者根本没有格式化?它们通常在您的 PC 上自动挂载到哪个驱动器号?
  • 另外,setup.bat 有什么作用?您能否为这些任务在您的 PC 上禁用 UAC 控制,这样您就不必以管理员身份运行它?

标签: batch-file zip extract


【解决方案1】:

下面的批处理执行您需要的所有任务。它做了几个假设:

  • 您处理的 USB 拇指驱动器在出厂时已使用一个现有分区进行预格式化
  • thumb 总是在连接到同一驱动器号 D: 时自动挂载。你可以改变 脚本中的驱动器号
  • 您已下载、解压缩并复制到此批处理目录 RemoveDrive 工具。它是弹出 USB 闪存驱动器的最佳方式 来自 Cmd
  • 您没有将用户帐户的“下载”文件夹从默认文件夹中移出 位置
  • 将此AutoFlash.bat保存在您的用户帐户可访问目录中, 为其创建桌面快捷方式,在其中选择 属性-快捷方式-高级选项“以管理员身份运行

如果满足这些条件,请连接 USB Thumb,等待它在 Windows 资源管理器中访问,然后通过快捷方式运行此脚本以自动执行所有任务:

<!-- : Begin batch script
@echo off
setlocal EnableExtensions EnableDelayedExpansion
cd /d %~dp0 & set "drive=D:" & set "mount=0" & echo/
set "file=%USERPROFILE%\Downloads\plc-stick_8.3.zip"
if exist %drive%\nul (format %drive% /q /fs:FAT32 /Y /v:USBFlash
) else (set "mount=1" & echo Flash drive is not mounted)
timeout 3
if not %mount% equ 1 (echo/
    cscript //nologo "%~f0?.wsf" "%file%" "%drive%\"
    echo Unpack completed. Running setup... & echo/
    call %drive%\setup.bat
    timeout 3 & echo Install completed & echo/
    removedrive %drive% -L
    echo All tasks done. Remove Flash Drive.
) else (echo/ & echo Reinsert the drive or open Disk Management)
timeout /t 3 /nobreak >nul
exit /b

----- Begin wsf script --->
<job><script language="VBScript">
Set objShell = CreateObject("Shell.Application")
Set Ag=Wscript.Arguments
set WshShell = WScript.CreateObject("WScript.Shell")

Set DestFldr=objShell.NameSpace(Ag(1))
Set SrcFldr=objShell.NameSpace(Ag(0))
Set FldrItems=SrcFldr.Items
DestFldr.CopyHere FldrItems, &H214
</script></job>

如果运行脚本有任何问题,请告诉我。

【讨论】:

  • @user2823725 运行上述脚本时,无需禁用 UAC,因为批处理从快捷方式以管理员身份运行。
  • @user2823725 如果脚本适合您,请考虑通过单击答案左侧的“向上箭头”和“选择”标志来投票并接受此线程中的答案。 :)
  • sambul35 请给我原始信息。非常感谢
  • 关于bootinst.bat:文件夹slap\boot是在什么drive\dir中创建的?另外,您是否下载了RemoveDrive 工具,以及它的解压和保存位置?
猜你喜欢
  • 2012-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多