我尝试了很少的脚本,但据我所知,我能理解为什么它无法检测到我的usb驱动器。我试图检测一个usb驱动器,只是想把文件从pc到usb。任何关于这件事的说明都会很有帮助。我得到命令C;D;I和D驱动器是我的usb驱动器,我在它上有一个名为smrithi的文件夹,我想将所有文件从C:/桌面/传输到驱动D。到usb上的/smrithi文件夹。我得到了BUt
device found :c
Device Found : d
Device Found :I这是我的剧本:
@echo off
setLocal Enabledelayedexpansion
for %%d in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
if exist %%d:\custom\ (
ECHO Device Found : %%d
)
) 发布于 2014-03-27 12:44:57
@echo off
setLocal Enabledelayedexpansion
rem To only search for a predefined set of volumes (see VOL X: command output)
set "filterVolumes=F111-0001 A0C1-C34C 0000-0000"
rem To search for all volumes
rem set "filterVolumes=:"
set "myDrive="
for %%a in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
if not defined myDrive vol %%a: 2>nul | findstr /i /l "%filterVolumes%" > nul && (
if exist "%%a:\smrithi\" set "myDrive=%%a:"
)
)
if defined myDrive (
echo drive found [%myDrive%]
rem xcopy "%userprofile%\desktop" "%myDrive%\smrithi" /e
) else (
echo USB drive has not been found
)
endlocal这将使用vol命令查看驱动器是否可用。如果是,则测试所需文件夹的存在,以确定它是否是已搜索的驱动器。
为了测试驱动器是否是必需的驱动器,将分析vol命令的输出,以查看卷的id。如果它与预先定义的有效值列表匹配,则考虑驱动器。如果没有,它就会被丢弃。如果filterVolumes变量包含:,则考虑所有卷。
发布于 2014-03-27 12:12:17
试试这个:
@echo off
Setlocal
for /f %%d in (
'wmic logicaldisk where "drivetype=2 and access=0" get name^|find ":"'
) DO (
If exist "%%d\smrithi\" (
Echo folder found.
) ELSE (
Echo Folder not found.
)
)https://stackoverflow.com/questions/22686569
复制相似问题