Batch file 创建一个批以读取驱动器标签并创建一个txt

Batch file 创建一个批以读取驱动器标签并创建一个txt,batch-file,label,Batch File,Label,我需要创建一个批处理,它将创建一个以光盘标签命名的.txt文件,其中包含该光盘的文件和目录。 例如,我有一个usb驱动器(驱动器F:和标签“blabla”), 我需要询问用户它是哪个驱动器(用户需要输入驱动器号),然后批处理文件将创建一个名为blabla.txt的.txt文件,其中将包含该驱动器的文件和目录。 有什么想法吗 好的,我在这里: echo off & setlocal enableextensions CLS echo[ set /p drive=Wha

我需要创建一个批处理,它将创建一个以光盘标签命名的.txt文件,其中包含该光盘的文件和目录。 例如,我有一个usb驱动器(驱动器F:和标签“blabla”), 我需要询问用户它是哪个驱动器(用户需要输入驱动器号),然后批处理文件将创建一个名为blabla.txt的.txt文件,其中将包含该驱动器的文件和目录。 有什么想法吗


好的,我在这里:

echo off & setlocal enableextensions    
CLS  
echo[    
set /p drive=What is the Drive Letter:    
set /p ampm=type AM or PM:    
for /f "tokens=1-5*" %%1 in ('vol %drive%') do (
   set vol=%%6 & goto done
)
:done
DIR %drive% /S gen > C:\Users\Administrator\Desktop\%DATE:~0,2%%DATE:~3,2%%DATE:~8,4%%ampm%_%vol%.txt
它就像一个符咒,但问题是它没有将.txt扩展名添加到它创建的文件中。有什么想法吗?

对于
元变量 我不建议使用纯数字变量名,因为它可能与命令行参数
%1
-
%9
冲突

驱动器号
应改为

dir %drive%:
dir
需要一个
来理解这是一个驱动器,而不是一个文件夹或文件


.txt
扩展名 我无法理解这个问题,因为我无法在我的机器上重现这种情况。但是,可以用引号将路径括起来。这是一个全窗户的预防措施

C:\Users\Administrator\Desktop\%DATE:~0,2%%DATE:~3,2%%DATE:~8,4%%ampm%_%vol%.txt
变成

"C:\Users\Administrator\Desktop\%DATE:~0,2%%DATE:~3,2%%DATE:~8,4%%ampm%_%vol%.txt"

你尝试过什么,你尝试过的又是如何失败的?理想情况下,您应该提供您尝试过的内容的详细信息,并包括关于失败原因的具体信息,以及错误消息和/或错误输出。因此,这不是一个代码编写服务;最好的问题是那些提供有用信息的问题,这样那些回答问题的人可以引导你设计出自己的正确答案。看到了吧。话虽如此,我也会告诉你SS64的页面在,和;我还将注意到,您最好尝试使用卷序列号而不是卷名,因为许多设备要么没有卷名,要么有重复的卷名(例如,如果它们来自同一制造商)。@SteveFest-我要提到的是,多年前我批量编写了一个磁盘编目器;这不是我会浪费时间为别人写的东西,也不是让别人为我写的东西——只需要很少的研究就太容易了。这就是我写评论的原因,我写评论的目的是为了指出自己获得必要信息是多么容易。@JeffZeitlin你确实是对的。我的回答只是部分。重要的是“代码缺失”。即使我的所有信息都在答案中,OP仍然无法生成工作代码,除非他/她使用
命令/?
,或者按照您的建议-SS64.com进行研究/nt@SteveFest-我绝对喜欢SS64作为批次参考。你会发现,我在大多数(如果不是所有)关于批处理的评论和回答中都链接到了它……我喜欢,代码是混乱和混乱的。好的,我在这里:echo off&setlocal enableextensions CLS echo[set/p drive=什么是驱动器号:set/p ampm=键入am或PM:for/f“tokens=1-5*”%%1 in('vol%drive%')do(设置音量=%%6&转到完成):done DIR%drive%/S gen>C:\Users\Administrator\Desktop\%DATE:~0,2%%DATE:~3,2%%DATE:~8,4%%ampm%\uu%vol%.txt它就像一个符咒一样工作,但问题是它没有在创建的文件中添加.txt扩展名。你有什么想法吗?我只看到你把CLS和ECHO放在一起。@TGrif说实话,我不喜欢人们在没有任何ef的情况下复制和粘贴我的代码fort.但既然OP提供了代码,我就不能再这样做了。但当我回答这样的问题时,我总是会隐藏一些信息。@SteveFest我不是批处理文件的人,但我相信你是对的。不过,不要把它当回事。你已经在这里给出了一些很好的建议。但是,等等……你改变了你的答案,不是吗?
"C:\Users\Administrator\Desktop\%DATE:~0,2%%DATE:~3,2%%DATE:~8,4%%ampm%_%vol%.txt"