2011-04-03 53 views
1

这Supybot为Windows批处理安装脚本需要创建另一个批处理文件...这Supybot为Windows批处理安装脚本需要创建另一个批处理文件

的问题

(1)我有具有与结尾的文件目录的.conf

(2)只能有一个该目录下,以结束在文件的.conf

(3)但我不知道这是什么文件开头。我所知道的是conf

(4)如何设置filename.conf并删除文件名的.conf部分?

(5)因为它只是我需要的文件名的开头。

实施例:

C:\ runbot>找到 “supybot.ident:” |类型*的.conf> TEMP.TXT

robotbot.conf

输出:robotbot.conf

的追求,是我如何设置变量= robotbot

====== ================================================== =================

的输入在这个文件中的目录中搜索名为以及许多其他 “RootCode.conf”:

RootCode.conf

解决方案是:

FOR/F “令牌= 1,2 delims =” %%一个在( 'FINDSTR/M “supybot.ident:” *的.conf')DO SET USER = %%一个&组dontneed = %% b

回声%USER%

暂停

输出是:

C:\ runbot> FOR/F“tokens = 1,2 delims =”。在( 'FINDSTR/M “supybot.ident:” * .CON F')%一DO SET USER =%一&组dontneed =%B

C:\ runbot> SET USER = RootCode &集dontneed = CONF

C:\ runbot>回声RootCode RootCode

C:\ runbot>暂停 按任意键继续。 。 。

得主......特别感谢大家

回答

1

你的输出为type命令的例子是错误的或无用的。所以我假设你打错了输入,而真实的线路是用另一种方式传输的,因此我假定你正在试图找到包含字符串“supybot.ident:”的文件的文件名。在这种情况下,我会建议使用findstr命令。

FOR /F "tokens=*" %%a in ('FINDSTR /M "supybot.ident:" *.conf') DO SET USER=%%a 

HELP FINDSTRHELP SETHELP FOR以获取更多信息。

+0

现在你已经找到了一个解决方案:你能帮我一个更清晰的标题吗?我想不出应该把你编造的这个小小的剧本叫做什么?特别感谢... Edoctoor – Edoctoor 2011-04-05 09:12:09

+0

GetUserConf听起来不错 – 2011-04-05 09:50:59

1

这是一个有点不清楚(对我来说,至少)究竟是什么你问这里。但是如果你需要一个命令的输出,然后用for /f

for /f "delims=" %%x in ('some command ^| line') do set somevar=%%x 

请注意,你需要逃避在命令行shell元字符(因为他们需要生存的一个解析通)。另请注意,您不能将变量设置为包含多行文本。

+0

谢谢乔伊,我感谢你的时间,继续你的好工作。 – Edoctoor 2011-04-05 09:15:11