如何使用 cmd 将文件复制到指定名称的 USB 记忆棒?

如何使用 cmd 将文件复制到指定名称的 USB 记忆棒?

如果 F: 磁盘的名称是“Rejepow”,我想从 cmd 将 c:\test\myphoto.jpg 复制到 F:。

我该怎么做?

如果无法通过 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 的每个磁盘(这不是您在问题中给出的拼写)。

进一步阅读

答案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;
}

相关内容