Итак, здесь мы можем использовать wmic
для определения типа диска. Примечание !!! Если к вам подключено более одного USB, это не будет работать должным образом:
@echo off
for /F "tokens=1-4" %%a in ('wmic logicaldisk get caption^,description^,drivetype 2^>nul') do (
if %%l equ 2 (
echo xcopy /e /y "G:\2019-Year10\*.*" "%%d"
)
)
pause
Также Примечание Я добавил echo
кxcopy
строка для имитации команды, удалите echo только для выполнения команды ACTUAL xcopy
, если вы счастливы, что она выполнит то, что вам нужно.
Но в основном покажет вам, как следует выбиратьработа (в соответствии с вашим примером):
CHOICE /C DEFH /M "Choose driveletter "
if errorlevel 4 set "Drive=H:"
if errorlevel 3 set "Drive=F:"
if errorlevel 2 set "Drive=E:"
if errorlevel 1 set "Drive=D:"
echo xcopy /e /y "G:\2019-Year10\*.*" "%Drive%\"
Или автоматизировать его на основе ваших известных букв дисков вместо определения его, как в первом примере (в соответствии с вашим примером)
@echo off
for %%i in (D: E: F: H:) do (
if exist %%i echo xcopy /e /y "G:\2019-Year10\*.*" "%%i\"
)