Как скопировать файлы на указанный USB-накопитель с помощью cmd?

Как скопировать файлы на указанный USB-накопитель с помощью cmd?

Я хочу скопировать c:\test\myphoto.jpg на F:, если имя диска F: — «Rejepow» из cmd.

Как мне это сделать?

Если это невозможно из cmd, не могли бы вы объяснить, как это сделать на c++?

Из комментария OP:

Я пробовал удалять @echo off, также я менял If[%%d]==[F:] to If[%%d]==[G:].

Вывод wmic logicaldisk get caption, volumename:

C: 
D: 
E: 
G: REJEPOW

решение1

Я хочу скопировать c:\test\myphoto.jpg на F:, если имя диска F: — «Rejepow»

Решение 1:

Используйте следующий пакетный файл (CopyToRejepow.cmd).

@echo off
setlocal
for /f "tokens=1,2" %%d in ('wmic logicaldisk get caption^, volumename ^| findstr -i "Rejepow"') do (
  copy c:\test\myphoto.jpg %%d
  )
endlocal

Решение 2:

Используйте следующую командную строку.

for /f "tokens=1,2" %d in ('wmic logicaldisk get caption^, volumename ^| findstr -i "Rejepow"') do copy c:\test\myphoto.jpg %d

Примечания:

  • В вашем вопросе явно указано, что копировать следует только в том случае, если это диск F:.
  • Предположив, что это ошибка, я изменил ответ, скопировав файл на каждый диск с надписью REJEPOW (что не соответствует написанию, которое вы указали в своем вопросе).

Дальнейшее чтение

  • Индекс AZ командной строки Windows CMD- Отличный справочник по всем вопросам, связанным с командной строкой Windows.
  • копия- Скопируйте один или несколько файлов в другое место.
  • wmic- Команда инструментария управления Windows.
  • для /ф- Циклическая команда по результатам другой команды.

решение2

Я попробовал ваш пакетный код, но он не сработал, хотя ваш ответ в командной строке был верным, и угадайте, что я сделал;) Я написал программу на C++, которая запускает вашу командную строку.

#include <iostream>
#include <cstdlib>

using namespace std;
int main() {
system("for /f \"tokens=1,2\" %d in (\'wmic logicaldisk get caption^, volumename ^| findstr -i \"Rejepow\" \') do copy c:\\test\\myphoto.jpg %d);

return 0;
}

Связанный контент