Loops 循环浏览驱动器号并将文件移动到USB

Loops 循环浏览驱动器号并将文件移动到USB,loops,batch-file,windows-xp-embedded,Loops,Batch File,Windows Xp Embedded,我有一个备份批处理文件,它将备份我的文件并从中创建一个zip文件,然后将此zip文件移动到一个USB驱动器,该驱动器将插入电脑,USB驱动器可以在E到H之间分配一个驱动器号,具体取决于其他端口的使用情况,下面的代码在Windows 7电脑上工作,但在Windows XP机器上不工作,批处理文件将在其上使用 USB驱动器号的变化取决于我备份的机器和/或连接的设备数量和使用驱动器号,我不想有选择,只需将文件移动到插入的任何驱动器,因为一次只能插入一个驱动器,因为它仅用于备份目的 我如何在XP机器上工

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

USB驱动器号的变化取决于我备份的机器和/或连接的设备数量和使用驱动器号,我不想有选择,只需将文件移动到插入的任何驱动器,因为一次只能插入一个驱动器,因为它仅用于备份目的

我如何在XP机器上工作,它只会在XP机器上使用,如果找不到USB驱动器,我还会抛出错误并删除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

将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驱动器贴上一个唯一的标签,然后找到驱动器标签,请参阅


不幸的是,这些都不是选项,因为我不知道谁将进行备份,也不知道他们将使用什么驱动器,所以看起来我将不得不使用拷贝到所有位置,并在拷贝后删除文件