【发布时间】:2016-04-01 13:12:24
【问题描述】:
有没有办法将 txt 文档的每一行设置为批处理文件中的不同变量?我有一个 txt 文件,其中包含在计算机上找到的所有驱动器。如果可能的话,如何将每一行(对于每个驱动器)设置为不同的变量?
我有一个将所有可用驱动器写入文本文件的文件。我想读出这个文件并为每一行文本设置一个不同的变量。例如:
DeviceID
C:
D:
E:
现在“DeviceID”将是第一个变量。 “C:” “D:” 和 “E:” 都在获取单个变量。我希望你明白我的意思。
提前致谢!
好的,我试过了:
@echo off
setlocal enabledelayedexpansion
set i=0
for /f "tokens=2 delims=:=" %%a in ('wmic logicaldisk get name /value ') do (
set /a i+=1
set drive[!i!]=%%a
)
set drive
pause
copy %0 %drive[1]%:\%random%.bat
pause
而且效果很好。但我想将当前执行的文件复制到所有找到的驱动器而不输入:
copy %0 %drive[1]%:\currentlyexecutedfile.bat
copy %0 %drive[2]%:\currentlyexecutedfile.bat
copy %0 %drive[3]%:\currentlyexecutedfile.bat
copy %0 %drive[4]%:\currentlyexecutedfile.bat
有没有办法做到这一点,而不知道有多少驱动器并且不会导致错误?
【问题讨论】:
-
没看懂你的问题,你的意思是用
set c= C之类的吗?: -
你试过什么?你在哪里卡住?我也很难理解,为什么要依靠 txt 文件来查找计算机上的驱动器?为什么不使用
for /f循环从wmic logicaldisk...捕获所需的输出并用一块石头杀死 2 只鸟? -
我对编程很陌生,你会如何用 for /f 循环解决这个问题?我肯定会尝试的。
标签: variables batch-file text