Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 查找USB驱动器号_Batch File - Fatal编程技术网

Batch file 查找USB驱动器号

Batch file 查找USB驱动器号,batch-file,Batch File,我需要获取usb笔驱动器的驱动器号。命令CHDIR>drive.txt给了我驱动器号L:。我如何在批处理文件中的变量中读取/获取此信息“L:”,而不使用引号任何CHDIR输出也可以由伪变量%CD%使用。所以你已经有了一个包含这些信息的变量 否则,您可以对使用: for /f "delims=" %%x in ('chdir') do set "drive=%%x" 但我认为%CD%要容易得多:-) 编辑:你已经用引号说过了。变量中不会有任何引号,除非您希望它们在其中 至于后面的反斜杠:您可以使

我需要获取usb笔驱动器的驱动器号。命令CHDIR>drive.txt给了我驱动器号L:。我如何在批处理文件中的变量中读取/获取此信息“L:”,而不使用引号

任何
CHDIR
输出也可以由伪变量
%CD%
使用。所以你已经有了一个包含这些信息的变量

否则,您可以对使用

for /f "delims=" %%x in ('chdir') do set "drive=%%x"
但我认为
%CD%
要容易得多:-)

编辑:你已经用引号说过了。变量中不会有任何引号,除非您希望它们在其中

至于后面的反斜杠:您可以使用以下内容代替
%CD%

%CD:~0,-1%
这将展开
%CD%
,并删除最后一个字符,即反斜杠

但是,仅当您位于该驱动器的根目录中时,该选项才起作用。否则您也可以使用

for %%x in (%cd%) do @set drive=%%~dx

伪变量
%CD%
也可以使用任何
chdir
输出。所以你已经有了一个包含这些信息的变量

否则,您可以对
使用

for /f "delims=" %%x in ('chdir') do set "drive=%%x"
但我认为
%CD%
要容易得多:-)

编辑:你已经用引号说过了。变量中不会有任何引号,除非您希望它们在其中

至于后面的反斜杠:您可以使用以下内容代替
%CD%

%CD:~0,-1%
这将展开
%CD%
,并删除最后一个字符,即反斜杠

但是,仅当您位于该驱动器的根目录中时,该选项才起作用。否则您也可以使用

for %%x in (%cd%) do @set drive=%%~dx

因为
cd
将输出如下内容:

c:\documents and settings\pax
set Drive=%cd:~0,2%
您只需使用
“\”
作为分隔符抓取第一个字段,如下所示:

for /f "delims=\" %d in ('cd') do set curdrv=%d
这将为上述输出将环境变量
curdrv
设置为
c:


如果在cmd文件中运行,不要忘记使用double-%(%d)变量。

因为
cd
将输出如下内容:

c:\documents and settings\pax
set Drive=%cd:~0,2%
您只需使用
“\”
作为分隔符抓取第一个字段,如下所示:

for /f "delims=\" %d in ('cd') do set curdrv=%d
这将为上述输出将环境变量
curdrv
设置为
c:


如果在cmd文件中运行,不要忘记使用double-%(%d)变量。

在批处理中使用类似以下内容:

c:\documents and settings\pax
set Drive=%cd:~0,2%
如果这是脚本所在的当前目录,在您使用它时,是否会按您的要求将内容命名为L:。如果你有一些popd/pushd、cd等。。在批次中,使用时要小心。其余的由你决定


提供您如何使用它(可能是您批次的一部分)将有助于获得更好的答案。我们只能猜测。我认为,答案中出现两个for循环的原因。可能不需要,但我们正在猜测。

在您的批处理中使用类似于:

c:\documents and settings\pax
set Drive=%cd:~0,2%
如果这是脚本所在的当前目录,在您使用它时,是否会按您的要求将内容命名为L:。如果你有一些popd/pushd、cd等。。在批次中,使用时要小心。其余的由你决定


提供您如何使用它(可能是您批次的一部分)将有助于获得更好的答案。我们只能猜测。我认为,答案中出现两个for循环的原因。可能不需要,但我们正在猜测。

以下是如何从任何驱动器获取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 (
echo %%i is a USB drive.
)
)

下面介绍如何从任何驱动器获取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 (
echo %%i is a USB drive.
)
)
这是我用来在USB上查找字母的工具

  • 只需将“USB名称”更改为USB名称
这是我用来在USB上查找字母的工具

  • 只需将“USB名称”更改为USB名称

%CD%与chdir相似,但我需要删除反斜杠“\”变量应仅为“L:”不带引号%CD%与chdir相似,但我需要删除反斜杠“\”变量应仅为“L:”不带引号这很有用;但是如果有一个(多)读卡器,它也会提到它们;但是如果有一个(多)读卡器,它也会提到它们。