1

我有一个备份批处理文件,它将备份我的文件并从中创建一个 zip 文件,然后将此 zip 文件移动到将插入 PC 的 USB 驱动器,USB 驱动器可以分配 E 到之间的驱动器号H,取决于使用端口的其他内容,以下代码适用于 Windows 7 PC,但不适用于 Windows XP 机器,批处理文件将在该机器上使用

USB 驱动器号会根据我正在备份的机器和/或连接的设备数量和使用驱动器号而有所不同,我不想选择,只需将文件移动到插入的任何驱动器即可一次只能插入一个驱动器,因为它仅用于备份目的

如何在 XP 机器上进行这项工作,它只能在 XP 机器上使用,如果找不到 USB 驱动器并删除 zip 文件,我也会抛出错误并删除 zip 文件,因为这都是从 CF 卡运行的,嵌入式系统,所以空间有限,无法保存任何文件

REM ------ Creation of a date stamp for the ZIP file on the USB and set the File Name Structure------


set DT=%DATE:/=-%
set timestamp=%DT:~7,3%%DT:~4,3%%DT:~10,4%
Set FileStamp=%BackupName%-%timeStamp%


REM ------ Creation of the ZIP file ------

%SupervisorPath%\7-ZipPortable\App\7-Zip\7z a -tzip %BackupPath%\Backup\%FileStamp%.zip %BackupPath%\Backup\

REM ------ Move the backup file to a USB drive with File Name and Date Stamp ------

for %%D in (E F G H) do if exist %%D: (
  echo Moving files to USB drive %%D:
  move /y "%BackupPath%\Backup\%FileStamp%.zip" %%D: >nul && (
    echo Files moved to USB drive successfully
    goto :break
  )
)
:break
4

1 回答 1

1

将您的 USB 驱动器放在根目录下的文件中,例如名称为BackupDrive.txt. 内容无关紧要,但我建议在文件中存储类似

File to identify the USB backup drive. Never delete this file.

设置此文件的隐藏文件属性。

在您的批处理文件中使用:

for %%D in (E F G H) do if exist %%D:\BackupDrive.txt (
  echo Moving files to USB drive %%D:
  move /y "%BackupPath%\Backup\%FileStamp%.zip" %%D: >nul && (
    echo Files moved to USB drive successfully
    goto :break
  )
)

或者最有可能更好的是,您给您的 USB 驱动器一个唯一的标签并按标签查找驱动器,请参阅

于 2015-02-23T07:02:23.367 回答