循环遍历驱动器号并将文件移动到 USB
Loop through drive letters and move file to USB
我有一个备份批处理文件,它将备份我的文件并从中创建一个 zip 文件,然后将此 zip 文件移动到将插入 PC 的 USB 驱动器,USB 驱动器可以分配一个E 到 H 之间的驱动器号,取决于其他什么正在使用端口,下面的代码适用于 Windows 7 PC 但不适用于将要使用批处理文件的 Windows XP 机器在
USB 驱动器盘符根据我正在备份的机器和/或连接了多少设备并使用驱动器盘符而变化,我不想做出选择,只需将文件移动到任何驱动器即可已插入,因为一次只能插入一个驱动器,因为它仅用于备份目的
我怎样才能在 XP 机器上使用它,它只能在 XP 机器上使用,如果找不到 USB 驱动器,我也可以抛出错误并删除 zip 文件,因为这就是全部运行来自CF卡,嵌入式系统,所以space只能保存任何文件
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%-ZipPortable\App-Zipz 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 驱动器指定一个唯一的标签并按标签找到该驱动器,请参阅
- How to reference a volume/drive by label?
- How to refer to/select a drive based only on its label (i.e. not the drive letter)?
我有一个备份批处理文件,它将备份我的文件并从中创建一个 zip 文件,然后将此 zip 文件移动到将插入 PC 的 USB 驱动器,USB 驱动器可以分配一个E 到 H 之间的驱动器号,取决于其他什么正在使用端口,下面的代码适用于 Windows 7 PC 但不适用于将要使用批处理文件的 Windows XP 机器在
USB 驱动器盘符根据我正在备份的机器和/或连接了多少设备并使用驱动器盘符而变化,我不想做出选择,只需将文件移动到任何驱动器即可已插入,因为一次只能插入一个驱动器,因为它仅用于备份目的
我怎样才能在 XP 机器上使用它,它只能在 XP 机器上使用,如果找不到 USB 驱动器,我也可以抛出错误并删除 zip 文件,因为这就是全部运行来自CF卡,嵌入式系统,所以space只能保存任何文件
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%-ZipPortable\App-Zipz 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 驱动器指定一个唯一的标签并按标签找到该驱动器,请参阅
- How to reference a volume/drive by label?
- How to refer to/select a drive based only on its label (i.e. not the drive letter)?