У меня есть ручка загрузки Windows, которая запускает пакетный файл при запуске, все, что нужно сделать, это скопировать большой список файлов, указанных в текстовом файле, с машины на загрузочную ручку.
Я выполнил тестовый прогон на своем ПК перед созданием загрузочного пера и подумал, что это должно работать
@echo off
set DRIVE=c
for /F "tokens=*" %%a in (e:\test\files.txt) do call :amendDirectoryAndCopy %%a
pause
:amendDirectoryAndCopy
set DEST=%~1
set DEST=%DEST:~1%
echo set DEST=%DRIVE%%DEST%
echo xcopy %~1 %DEST%
Все, что нужно сделать, это для каждого файла удалить первый символ строки,добавьте "c" в начало, которое дает каталог назначения, затем выполните xcopy.Я нахожу вывод сбивающим с толку, так как "@echo set" DEST =% DRIVE %% DEST% "выводит то, что я ожидал, правильный каталог на C: например,
c: \ test \ folder \ file.txt
но xcopy выводит
xcopy e: \ test \ folder \ file.txt: \ test \ folder \ file.txt
буква диска отсутствует в месте назначения.