2011-04-03 52 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