Batch file 使用驱动器属性名获取驱动器号

Batch file 使用驱动器属性名获取驱动器号,batch-file,drive,Batch File,Drive,我有一个备份批处理文件,我在几台计算机和笔记本电脑上运行该文件位于每台机器的不同驱动器(字母)。因此,批处理文件需要确定文件位置,然后从该驱动器运行,那么有没有办法使用驱动器属性名获取驱动器号 问候,, Paul不太清楚您的意思,但请在命令行中尝试以下操作: (如果将其放入BAT文件中,请将%a更改为%a) echo的结果将是您当前的驱动器(通常是C:)这将检测到最后一个包含文件的驱动器(添加更多驱动器号) 恐怕这里有误会。如果您有一个正在运行的批处理文件,那么有一种非常简单的方法“通过批处理文

我有一个备份批处理文件,我在几台计算机和笔记本电脑上运行该文件位于每台机器的不同驱动器(字母)。因此,批处理文件需要确定文件位置,然后从该驱动器运行,那么有没有办法使用驱动器属性名获取驱动器号

问候,,
Paul

不太清楚您的意思,但请在命令行中尝试以下操作:
(如果将其放入BAT文件中,请将
%a
更改为
%a


echo的结果将是您当前的驱动器(通常是C:

这将检测到最后一个包含文件的驱动器(添加更多驱动器号)


恐怕这里有误会。如果您有一个正在运行的批处理文件,那么有一种非常简单的方法“通过批处理文件确定其开始运行的位置”:


如果批处理文件位于其他位置,则首先需要开始运行以确定其他文件的位置,然后将当前目录更改为该位置。在这种情况下,foxidrive的回答提供了一个解决方案。

谢谢。我要做的就是做到这一点。我有一个带备份批处理例程的拇指驱动器,可以在几台计算机上运行。根据用户和计算机配置,thumb驱动器的驱动器号可能会有所不同。我需要一种方法我需要一种基于拇指“名称”确定拇指驱动器“驱动器号”的方法。因此,我可以使用这些信息设置一些环境变量,这样无论使用哪个thumb驱动器,每次安装都可以正常工作。保罗,你好,谢谢大家的建议。看来,如果我向你展示我需要完成什么,可能会有所帮助。这是我用来支持日常工作的简单批处理文件。在每台机器上,我都感谢你们的建议。如果我只是向您展示我用于备份日常工作的批处理,可能会更好。set MTH=%DATE:~4,2%set DAY=%DATE:~7,2%set YR=%DATE:~10,4%set BkDte=Backups\u 2GB--daily\u backup--%MTH%。%DAY%。%YR%k:cd F-All\Backups 2GB--daily backup\MD%BkDte%xcopy h:/M/s/V%BkDte%I在这种情况下,我想替换硬盘上的字母“k:和h:”他们的驱动器名。根据放置thumb驱动器的计算机的不同,驱动器号会发生变化,但不包括驱动器名称。谢谢大家的建议。此任务中使用了多少个USB驱动器?是否在资源管理器中找到USB驱动器并双击批处理文件?如果没有,那么如何启动它?USB驱动器是否有设置的卷标?
for /F "delims=\" %a in ('cd') do echo %a
@echo off
set "drv="
for %%a in (c d e f g h i j k l m n) do if exist "%%a:\" if exist "%%a:\folder\name.txt" set "drv=%%a:"
if defined drv echo the file was found on drive %drv%
@echo off

set myDrive=%~D0
echo I am running from: %myDrive%