循环通过驱动器号并将文件移动到USB

时间:2015-02-22 19:27:56

标签: loops batch-file windows-xp-embedded

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

上使用批处理文件的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

1 个答案:

答案 0 :(得分:1)

在root用户的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驱动器提供唯一标签,并按标签查找驱动器,请参阅