Прокрутите буквы дисков и переместите файл на USB

У меня есть резервный пакетный файл, который создаст резервную копию моих файлов и создаст из них 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

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-накопителю уникальный ярлык и найдете диск по ярлыку, см.

Другие вопросы по тегам