2014-12-01 92 views
0

我正在学习批处理脚本,并需要您的帮助,请:我有一个这样的驱动器号字符串(这将不同于每个系统) - A:B:C:D:E:M :N:P :.我想在C之后捕获驱动器盘符(在这个字符串中是D :)。我用硬编码的标记值如下(工作)的尝试:下一个可用的驱动器号后C:驱动器

FOR /F "tokens=3* delims=:" %%G IN ("A: B: C: D: E: M: N: P:") DO @echo Drive available after C is %%G 

能有人帮如何运行动态字符串。字母C:可以在任何位置。提前致谢。

回答

0

你可以用string manipulation。如果你在教自己批处理脚本,字符串操作是一个非常有用的东西学习。

@echo off 
setlocal 

:: test string 
set "drives=A: B: C: D: E: M: N: P:" 

:: strip off everything before and including C:(space) 
set "afterC=%drives:*C: =%" 

:: Keep the left two characters 
set "afterC=%afterC:~0,2%" 

echo %afterC% 
+0

非常感谢Rojo。这是真正的迫切和按预期工作。酷 – user3180704 2014-12-01 19:54:14

+0

@ user3180704如果我的回答有帮助,请将其标记为已接受。 [见本页](http://meta.stackexchange.com/questions/5234/)解释为什么这很重要。 – rojo 2014-12-01 19:58:20

相关问题