專利名稱:命令行流水線化的制作方法
命令行流水線化背景背景和相關(guān)技術(shù)計(jì)算機(jī)和計(jì)算系統(tǒng)影響了現(xiàn)代生活的幾乎每個(gè)方面。計(jì)算機(jī)一般在工 作、消遣、醫(yī)療保健、運(yùn)輸、娛樂、家務(wù)管理等中都有所涉及。為查找計(jì)算系統(tǒng)故障,有各種工具對用戶和IT專業(yè)人員可用。例如,許多計(jì)算機(jī)系 統(tǒng)包括允許用戶查找各種問題的命令行實(shí)用程序或可與其一起使用。命令 行實(shí)用程序是可從諸如DOS提示等的命令行執(zhí)行的計(jì)算機(jī)程序。為執(zhí)行命令行實(shí)用程序,用戶輸入該命令行實(shí)用程序的名字和指定命令行 實(shí)用程序在執(zhí)行時(shí)應(yīng)考慮的輸入的各個(gè)參數(shù)。例如,"ping 192.168.0.1"是指 示計(jì)算機(jī)系統(tǒng)在網(wǎng)絡(luò)上向在IP地址192.168.0.1處的另一計(jì)算機(jī)系統(tǒng)發(fā)送一般 消息以測試這兩個(gè)計(jì)算機(jī)系統(tǒng)之間的網(wǎng)絡(luò)連通性的命令行實(shí)用程序的實(shí)例。命令行實(shí)用程序一般將結(jié)果輸出到計(jì)算機(jī)屏幕上,或在一些情況下命令行 實(shí)用程序生成具有結(jié)果的日志文件。為執(zhí)行另外的測試,用戶一般必須從計(jì)算 機(jī)屏幕或日志文件復(fù)制該信息,并且如果該信息要被用在不同命令行實(shí)用程序 中作為輸入,則適當(dāng)?shù)刂匦赂袷交撔畔?。因此,為了使用一個(gè)或多個(gè)命令行 實(shí)用程序執(zhí)行多個(gè)操作要求大量的用戶交互。對用戶和IT專業(yè)人員可用的其它故障排查工具是專用的自定義腳本。腳 本一般能夠執(zhí)行一系列操作。然而,腳本一般被設(shè)計(jì)為執(zhí)行特定的一系列操作 并且因此在通用上下文中不太可擴(kuò)展和有用。另外,由于其專用的本性,腳本 通常由用戶生成。因而,用戶通常必須掌握高級專用知識來對腳本編程。在此要求保護(hù)的主題不限于解決任何缺點(diǎn)或僅在諸如下述環(huán)境中操作 的各個(gè)實(shí)施例。相反地,提供該背景僅用以示出在其中可實(shí)踐在此描述的 部分實(shí)施例的一個(gè)示例性技術(shù)領(lǐng)域。簡要概述在此描述的一個(gè)實(shí)施例是可在計(jì)算系統(tǒng)中實(shí)踐的一種方法。該方法包括用 于使用能夠執(zhí)行多個(gè)功能的單個(gè)命令行實(shí)用程序來執(zhí)行功能的動作。該命令行 實(shí)用程序能夠接受該命令行實(shí)用程序的輸出作為由該命令行實(shí)用程序執(zhí)行的功能的自變量。該方法包括調(diào)用命令行實(shí)用程序來執(zhí)行特定功能。從命令行實(shí) 用程序接收輸出。在再次調(diào)用該命令行實(shí)用程序時(shí),使用該輸出作為自變量再 次調(diào)用該命令行實(shí)用程序。在此描述的另一方法可以在一計(jì)算系統(tǒng)中實(shí)踐。該方法包括使用能夠執(zhí)行 多個(gè)功能的單個(gè)命令行實(shí)用程序執(zhí)行功能的動作。該命令行實(shí)用程序能夠接受 該命令行實(shí)用程序的輸出作為由該命令行實(shí)用程序執(zhí)行的功能的自變量。該方 法包括從用戶接收單個(gè)命令行語句。該單個(gè)命令行語句包括指定將被執(zhí)行的功 能的多個(gè)自變量。生成輸出作為正被執(zhí)行的由自變量中的至少一個(gè)的第一功能 的結(jié)果。該輸出以未修改的形式使用作為用于執(zhí)行由自變量的至少一個(gè)指定的 第二功能的輸入。在此描述的又一方法可以在一計(jì)算系統(tǒng)中實(shí)踐。該方法包括使用能夠執(zhí)行 多個(gè)功能的單個(gè)命令行實(shí)用程序來執(zhí)行各個(gè)功能的各個(gè)動作。該命令行實(shí)用程 序能夠接受該命令行實(shí)用程序的輸出作為由該命令行實(shí)用程序執(zhí)行的功能的 自變量。該方法包括生成輸出作為執(zhí)行命令行實(shí)用程序來執(zhí)行第一功能的結(jié) 果。該方法進(jìn)一步包括以未修改的形式將該輸出用管道送回命令行實(shí)用程序以 供在執(zhí)行第二功能時(shí)使用。提供本概述以便以簡化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一 些概念。該概述不旨在標(biāo)識所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨 在用于幫助確定所要求保護(hù)的主題的范圍。另外的特征和優(yōu)點(diǎn)將在以下的描述中闡述,并且部分可從該描述中顯 而易見,或者可以從此處的教示實(shí)踐中習(xí)得。本發(fā)明的特征和優(yōu)點(diǎn)可以通 過在所附權(quán)利要求中特別指出的手段和組合來認(rèn)識并獲取。本發(fā)明的特征 將從以下描述和所附權(quán)利要求書中變得完全顯而易見,或者可通過如下所 述對本發(fā)明的實(shí)踐而獲知。附圖簡述為了描述能夠獲得上述和其它優(yōu)點(diǎn)和特征的方式,將通過參考附圖中示出 的各具體實(shí)施例來呈現(xiàn)對以上簡述的主題的更為具體的描述。應(yīng)該理解這些附 圖僅描繪了各典型實(shí)施例,因此其不應(yīng)被認(rèn)為是對范圍的限制。通過使用附圖, 將會用另外的特征和細(xì)節(jié)描述并解釋各實(shí)施例,在附圖中
圖1示出命令行流水線化的一個(gè)實(shí)施例; 圖2示出使用命令行實(shí)用程序的方法; 圖3示出使用命令行實(shí)用程序的另一方法;以及 圖4示出使用命令行實(shí)用程序的又一方法。詳細(xì)描述此處的各實(shí)施例可以包括含有各種計(jì)算機(jī)硬件的專用或通用計(jì)算機(jī),這將 在以下做出更詳細(xì)的討論。在此公開的一些實(shí)施例涉及允許使用單個(gè)命令行實(shí)用程序來執(zhí)行眾多命 令的系統(tǒng)和方法。例如,命令行實(shí)用程序可以包括允許嵌套自變量以使同一命 令行實(shí)用程序可被用來執(zhí)行眾多不同的功能的功能集。另外,通過調(diào)用這些功 能中的一個(gè)所產(chǎn)生的結(jié)果數(shù)據(jù)可循環(huán)回該命令行實(shí)用程序而不需另外的格式 化,以使由自變量指定的后續(xù)功能可作為輸入使用?,F(xiàn)關(guān)注圖l,其中示出了工作流流水線100的一個(gè)示例。工作流流水線100 示出請求102。在該實(shí)施例中,該請求包括多個(gè)自變量。在一實(shí)施例中,這些 自變量可被用來指定將由命令行實(shí)用程序執(zhí)行的眾多不同的功能。圖1示出接 收請求102的命令行實(shí)用程序104。命令行實(shí)用程序104包括用于執(zhí)行由包括 在請求102中的多個(gè)自變量中的至少一個(gè)所指示的功能的功能集。作為執(zhí)行功 能的結(jié)果,生成了輸出106。工作流流水線100示出該輸出可以通過循環(huán)108 被循環(huán)回命令行實(shí)用程序104。如果指示了更多功能,諸如通過包括在請求102 中所包括的多個(gè)自變量所指示的,則利用循環(huán)108。如圖所示,輸出106可以 通過循環(huán)108被循環(huán)回命令行實(shí)用程序104,以便輸出106可被用作正由命令 行實(shí)用程序104執(zhí)行的另一功能的輸入自變量。再次參考圖1中示出的請求102,在一示例中請求102可以被具體化為來 自用戶的單個(gè)命令行語句。該單個(gè)命令行語句可以包括可被用來指定要執(zhí)行的 功能的眾多自變量。例如,具體化請求102的示例性命令行語句可被如下格式 化命令尋找站點(diǎn)i尋找應(yīng)用程序在該具體示例中,該命令行實(shí)用程序包括尋找站點(diǎn)的功能。在找到 站點(diǎn)后,將枚舉在那些站點(diǎn)上運(yùn)行的應(yīng)用程序。在一替換實(shí)施例中,請求102可被具體化為用來向命令行實(shí)用程序104 提供輸入的批處理文件。命令行實(shí)用程序104包括用于執(zhí)行眾多不同的功能的功能集。執(zhí)行哪 一功能可由請求102中的自變量來指示。在一實(shí)施例中,命令行實(shí)用程序 104可被設(shè)計(jì)為執(zhí)行眾多互相關(guān)聯(lián)的功能以便在實(shí)現(xiàn)更復(fù)雜更大的總體操 作時(shí)可以使用同一命令行實(shí)用程序。例如,在服務(wù)器控制上下文中,該命 令行實(shí)用程序可以包括提供用于尋找服務(wù)特定IP地址或地址范圍的網(wǎng)站的 功能集的功能。涉及服務(wù)器上下文的命令行實(shí)用程序104可以進(jìn)一步包括 用于停止網(wǎng)站的功能集。因此,用戶可以向命令行實(shí)用程序提供指示該命 令行實(shí)用程序應(yīng)該尋找網(wǎng)站并隨后停止所找到的網(wǎng)站的請求102。如下將更詳細(xì)地描述的,來自尋找網(wǎng)站功能的輸出在由命令行實(shí)用程序104執(zhí)行停 止網(wǎng)站功能時(shí)可被用作對該命令行實(shí)用程序的輸入。作為更多的說明性示例,示出了由多個(gè)管道化的命令組成的單個(gè)更復(fù) 雜的操作的如下場景。第一個(gè)示例包括尋找一組對象實(shí)例并隨后在那些實(shí) 例上執(zhí)行操作。例如,第一個(gè)命令可以尋找在一特定IP地址上監(jiān)聽的站點(diǎn), 而使用來自第一命令的輸出的第二個(gè)命令停止這些站點(diǎn)。第二個(gè)示例包括 尋找涉及另一對象的一組對象實(shí)例,其中在多個(gè)對象之間存在關(guān)系。例如, 管道化的命令尋找與屬于當(dāng)前正執(zhí)行已被執(zhí)行了超過10秒的請求的站點(diǎn)的 應(yīng)用程序有關(guān)的虛擬目錄。第三個(gè)示例包括在許多對象上高效地執(zhí)行批操 作。例如,命令行管道化允許尋找滿足特定準(zhǔn)則的所有站點(diǎn)并將它們停止。該靈活性允許在命令行上容易地執(zhí)行復(fù)雜的端到端管理場景而不必投 入執(zhí)行多個(gè)命令的復(fù)雜的腳本化代碼,并保持中間狀態(tài)以本質(zhì)上達(dá)到相同 目標(biāo)。由于所涉及的復(fù)雜性,其對于大多數(shù)服務(wù)器顧客是不可訪問的。計(jì)算機(jī)系統(tǒng)、框架、應(yīng)用程序等可以展示可被用來與基本結(jié)構(gòu)組件交互的 一組基本管理對象。例如,在服務(wù)器上下文中,服務(wù)器可以展示站點(diǎn)、應(yīng)用程 序、虛擬目錄、配置部分等的概念。每一對象提供一組所支持的可被用來與該 對象交互的功能。例如,各個(gè)功能可被用于創(chuàng)建應(yīng)用程序、設(shè)置配置部分的配置特性或停止站點(diǎn)等。每一對象還可以提供可能經(jīng)由基于所請求的實(shí)例的各種 特性的査詢枚舉存在的該對象的實(shí)例的能力。命令行實(shí)用程序104可以包括用于向命令行用戶展示具有對象的接口,從 而允許在期望的對象實(shí)例上執(zhí)行功能的能力的功能集。如前所述,命令行實(shí)用程序104包括用于執(zhí)行多個(gè)功能的功能集。這允許 同一命令行實(shí)用程序104被用來適當(dāng)?shù)嘏c適用于給定系統(tǒng)、框架、應(yīng)用程序等 等的對象接口。另外,命令行實(shí)用程序104包括接受在前功能的輸出作為由命 令行實(shí)用程序104執(zhí)行的在后功能的輸入的能力。再次參考圖l,示出了輸出106。在一實(shí)施例中,輸出106可具體化為XML 數(shù)據(jù)集。如圖所示,輸出106可使用循環(huán)108被用管道送回命令行實(shí)用程序104。 如此,由命令行實(shí)用程序104執(zhí)行的在后功能可以使用由在前功能生成的輸出 106以及請求102中指定的自變量來執(zhí)行在后功能。如前所述,輸出106可以是XML數(shù)據(jù)集。例如,可由用戶輸入如下自變命令尋找站點(diǎn)i尋找應(yīng)用程序?qū)ふ艺军c(diǎn)功能可以產(chǎn)生一組XML元素,每一元素描述一該功能所找到的 站點(diǎn)元素。例如,命令行實(shí)用程序具有"尋找站點(diǎn)"自變量的命令行實(shí)用程序 104的輸出可以返回如下XML數(shù)據(jù)集<data><site id="5" name=,,MySite,, binding=,,localhost:80" /> <site id="10,, name="SecureSite,, binding="localhost:443" />在所示具體示例中,"尋找應(yīng)用程序"功能接受由"尋找站點(diǎn)"功能生成 的上述XML輸出,并為由"尋找站點(diǎn)"功能所標(biāo)識的每一站點(diǎn)執(zhí)行"尋找應(yīng) 用程序"功能,其中每一站點(diǎn)都被用作"尋找應(yīng)用程序"功能的自變量。在這 種情況下,"尋找應(yīng)用程序"功能的每一個(gè)產(chǎn)生涉及XML中標(biāo)識的站點(diǎn)id 的一組應(yīng)用程序。所得應(yīng)用程序集可被合并并作為包括"尋找站點(diǎn)"功能和"尋 找應(yīng)用程序"功能這兩個(gè)功能的鏈的結(jié)果輸出。另外,該輸出可用管道送至另一功能,這或者通過擴(kuò)展用戶輸入的原始命令行或者通過在由該鏈所計(jì)算的應(yīng) 用程序集上執(zhí)行操作的在后命令行來實(shí)現(xiàn)。例如,命令行輸入可以包括在應(yīng)用 程序上設(shè)置特性的自變量。在一實(shí)施例中,STDIN和STDOUT (分別是標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出)流分 別用于XML數(shù)據(jù)的輸入和輸出。這確保管道化可通過使用外殼管道化機(jī)制使 用命令行實(shí)用程序104來容易地完成。另外,使用STDIN和STDOUT流還允 許輸出106重定向到文件或從文件中讀出。這允許存儲輸出106以便稍后或在 另一機(jī)器上使用中間結(jié)果。例如,在一實(shí)施例中, 一系統(tǒng)上的一組應(yīng)用程序可被導(dǎo)出到另一系統(tǒng)。命 令行實(shí)用程序104的輸出106可被重定向至一 XML文件。該XML文件可被 復(fù)制到導(dǎo)出該應(yīng)用程序的其它系統(tǒng)。命令行實(shí)用程序104隨后可以在該其它系 統(tǒng)上運(yùn)行,其中輸入包括該XML文件以恢復(fù)應(yīng)用程序。用XML格式設(shè)計(jì)的STDIN/STDOUT允許數(shù)據(jù)被發(fā)送到和發(fā)自諸如 AD0.NET、用于報(bào)告生成的XSLT變換等處理XML的其它工具。例如,XML 數(shù)據(jù)集可與web服務(wù)應(yīng)用程序一起使用。web服務(wù)是集成應(yīng)用程序的標(biāo)準(zhǔn)化方 式。標(biāo)準(zhǔn)化的XML文檔可與SOAP (簡單對象訪問協(xié)議)消息和WSDL (web 服務(wù)描述語言)描述一起使用來集成應(yīng)用程序而不必詳盡地了解被集成的應(yīng)用 程序?,F(xiàn)參考圖2,示出了一種方法200。方法200例如可在計(jì)算系統(tǒng)中實(shí)踐。 該方法是使用能夠執(zhí)行多個(gè)功能的單個(gè)命令行實(shí)用程序來執(zhí)行功能的方法。該 命令行實(shí)用程序能夠接受命令行實(shí)用程序的輸出作為由該命令行實(shí)用程序執(zhí) 行的功能的自變量。在一實(shí)施例中,該命令行實(shí)用程序被設(shè)計(jì)為執(zhí)行用于執(zhí)行 服務(wù)器管理的多個(gè)功能。該方法包括調(diào)用命令行實(shí)用程序來執(zhí)行特定功能(動作202)。例如,如 圖1所示的請求102可被輸入到命令行實(shí)用程序104以使得命令行實(shí)用程序 104執(zhí)行特定功能。方法200迸一步包括從命令行實(shí)用程序接收輸出(動作204)。在一實(shí)施 例中,接收輸出包括接收標(biāo)記文檔。例如,如前所述,在此命令行實(shí)用程序的 輸出可以是諸如XML文檔等標(biāo)記文檔的格式。方法200進(jìn)一步包括在再次調(diào)用命令行實(shí)用程序時(shí)將該輸出用作自變量 來再次調(diào)用該命令行實(shí)用程序(動作206)。例如,再次調(diào)用該命令行實(shí)用程 序可以是執(zhí)行與最初調(diào)用該命令行實(shí)用程序來執(zhí)行的特定功能不同的功能。在 一些實(shí)施例中,在再次調(diào)用命令行實(shí)用程序時(shí)將輸出用作自變量來再次調(diào)用該 命令行實(shí)用程序可在與調(diào)用命令行實(shí)用程序來執(zhí)行特定功能的機(jī)器不同的機(jī) 器上執(zhí)行。例如,如前所述,輸出可被重定向至被復(fù)制到另一機(jī)器的XML文 件。該命令行實(shí)用程序隨后可以在該不同的機(jī)器上被調(diào)用以執(zhí)行再次調(diào)用該命 令行實(shí)用程序的動作。在此所示的各示例中,調(diào)用命令行實(shí)用程序(動作202)和再次調(diào)用命令 行實(shí)用程序(動作204)可以包括執(zhí)行單個(gè)命令行語句。該單個(gè)命令行語句可 以包括指示該命令行實(shí)用程序?qū)⒈徽{(diào)用和將被再次調(diào)用的自變量。在各替換實(shí) 施例中,調(diào)用命令行實(shí)用程序和再次調(diào)用命令行實(shí)用程序可以包括執(zhí)行一批處 理文件,其中該命令行實(shí)用程序在該批處理文件中被引用兩次。方法200可以進(jìn)一步包括將輸出保存到存儲。如前所述,輸出可被定向至 XML文件。該XML文件可存儲在本地,如在硬盤驅(qū)動器或其它存儲上。另選 地,輸出可被傳輸?shù)搅硪挥?jì)算機(jī)系統(tǒng)以在該其它計(jì)算機(jī)系統(tǒng)上使用。再進(jìn)一步, 可以使輸出經(jīng)由網(wǎng)絡(luò)存儲或共享可用以準(zhǔn)許該輸出被網(wǎng)絡(luò)連接的系統(tǒng)訪問。方 法200還可以包括使用web服務(wù)來傳輸輸出?,F(xiàn)參考圖3,示出了另一方法300。該方法例如可在計(jì)算系統(tǒng)中實(shí)踐。該 方法是使用能夠執(zhí)行多個(gè)功能的單個(gè)命令行實(shí)用程序來執(zhí)行功能的方法。該命 令行實(shí)用程序能夠接受命令行實(shí)用程序的輸出作為由該命令行實(shí)用程序執(zhí)行 的功能的自變量。該方法包括從用戶接收單個(gè)命令行語句(動作302)。該單 個(gè)命令行語句包括指定將被執(zhí)行的功能的眾多自變量。方法300進(jìn)一步包括生成輸出作為正被執(zhí)行的由這些自變量中的至少一 個(gè)指定的第一個(gè)功能的結(jié)果(動作304)。例如,生成輸出可以包括生成標(biāo)記 文檔。標(biāo)記文檔輸出的示例如上所示。在一實(shí)施例中,生成輸出可以包括將輸 出流傳送到STDOUT流中。如前所述,使用STDOUT流可有助于將輸出存儲 到外部位置。例如,方法300可以進(jìn)一步包括將輸出存儲到文件中。在一實(shí)施 例中,這可通過使用STDOUT流來實(shí)現(xiàn)。該方法進(jìn)一步包括以未修改的形式使用該輸出作為執(zhí)行由自變量中的一個(gè)或多個(gè)指定的第二功能的輸入(動作306)。在一實(shí)施例中,使用該輸出包 括將該輸出流傳送到STDIN流中。因而,例如,如果該輸出被存儲在外部位 置,則該輸出可以被計(jì)算機(jī)系統(tǒng)通過將該輸出通過STDIN流流傳送到該計(jì)算 機(jī)系統(tǒng)中來使用?,F(xiàn)參考圖4,示出了另一方法400。方法400例如可在計(jì)算系統(tǒng)中實(shí)踐。 方法400包括用于使用能夠執(zhí)行多個(gè)功能的單個(gè)命令行實(shí)用程序來執(zhí)行功能的 動作。該命令行實(shí)用程序能夠接受該命令行實(shí)用程序的輸出作為由該命令行實(shí) 用程序執(zhí)行的功能的自變量。該方法生成輸出作為執(zhí)行該命令行實(shí)用程序來執(zhí) 行第一功能的結(jié)果(動作402)。在一示例中,生成輸出可以包括生成標(biāo)記文 檔。該方法進(jìn)一步包括以未修改的形式將該輸出用管道送回命令行實(shí)用程序 以供在執(zhí)行第二功能時(shí)使用(動作404)。以未修改的形式將該輸出用管道送 回命令行實(shí)用程序可以包括將STDIN流管道化。在一實(shí)施例中,以未修改的 形式將該輸出用管道送回命令行實(shí)用程序可以包括使用web服務(wù)來傳輸該輸 出。各實(shí)施例還可以包括用于承載或在其上存儲有計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù) 結(jié)構(gòu)的計(jì)算機(jī)可讀介質(zhì)。這樣的計(jì)算機(jī)可讀介質(zhì)可以是可由通用或?qū)S糜?jì)算機(jī) 訪問的任何可用介質(zhì)。作為示例而非限制,這樣的計(jì)算機(jī)可讀介質(zhì)可包括 RAM、 ROM、 EEPROM、 CD-ROM或其它光盤存儲、磁盤存儲或其它磁存儲 設(shè)備、或可用于承載或存儲計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼 裝置且可由通用或?qū)S糜?jì)算機(jī)訪問的任何其它介質(zhì)。當(dāng)信息通過網(wǎng)絡(luò)或另一通 信連接(硬連線、無線或硬連線或無線的組合)傳輸或提供給計(jì)算機(jī)時(shí),該計(jì) 算機(jī)將該連接完全視為計(jì)算機(jī)可讀介質(zhì)。因此,任何這樣的連接被適當(dāng)?shù)胤Q為 計(jì)算機(jī)可讀介質(zhì)。以上的組合也應(yīng)包括在計(jì)算機(jī)可讀介質(zhì)的范圍之內(nèi)。計(jì)算機(jī)可執(zhí)行指令包括例如使通用計(jì)算機(jī)、專用計(jì)算機(jī)、或?qū)S锰幚碓O(shè)備執(zhí)行某一功能或某組功能的指令和數(shù)據(jù)。盡管用對結(jié)構(gòu)特征和/或方法動作專用 的語言描述了本主題,但可以理解,所附權(quán)利要求書中定義的主題不必限于上12述具體特征或動作。相反,上述具體特征和動作是作為實(shí)現(xiàn)權(quán)利要求的示例形 式公開的。本發(fā)明可具體化為其它具體形式而不背離其精神或本質(zhì)特征。所述實(shí)施例在所有方面都應(yīng)被認(rèn)為僅是說明性而非限制性的。從而,本發(fā)明的范圍由所附 權(quán)利要求書而非前述描述指示。落入權(quán)利要求書的等效技術(shù)方案的含義和范圍 內(nèi)的所有改變應(yīng)被權(quán)利要求書的范圍涵蓋。
權(quán)利要求
1.一種在一計(jì)算系統(tǒng)中的使用能夠執(zhí)行多個(gè)功能的單個(gè)命令行實(shí)用程序來執(zhí)行功能的方法,其中所述命令行實(shí)用程序能夠接受所述命令行實(shí)用程序的輸出作為由所述命令行實(shí)用程序執(zhí)行的功能的自變量,所述方法包括如下動作調(diào)用命令行實(shí)用程序來執(zhí)行特定功能;從所述命令行實(shí)用程序接收輸出;以及在再次調(diào)用所述命令行實(shí)用程序時(shí),使用所述輸出作為自變量來再次調(diào)用所述命令行實(shí)用程序。
2. 如權(quán)利要求l所述的方法,其特征在于,再次調(diào)用所述命令行實(shí)用 程序是執(zhí)行與最初調(diào)用所述執(zhí)行命令行實(shí)用程序來執(zhí)行的特定功能不同的功 能。
3. 如權(quán)利要求l所述的方法,其特征在于,接收輸出包括接收標(biāo)記文檔。
4. 如權(quán)利要求l所述的方法,其特征在于,調(diào)用命令行實(shí)用程序和再 次調(diào)用所述命令行實(shí)用程序包括執(zhí)行包括指示所述命令行實(shí)用程序?qū)⒈徽{(diào)用 和將被再次調(diào)用的自變量的單個(gè)命令行語句。
5. 如權(quán)利要求l所述的方法,其特征在于,調(diào)用命令行實(shí)用程序和再 次調(diào)用所述命令行實(shí)用程序還包括執(zhí)行批處理文件。
6. 如權(quán)利要求l所述的方法,其特征在于,還包括將所述輸出保存到 存儲。
7. 如權(quán)利要求6所述的方法,其特征在于,在再次調(diào)用所述命令行實(shí) 用程序時(shí)將所述輸出用作自變量來再次調(diào)用所述命令行實(shí)用程序是在與調(diào)用 所述命令行實(shí)用程序來執(zhí)行特定功能的機(jī)器不同的機(jī)器上執(zhí)行的。
8. 如權(quán)利要求l所述的方法,其特征在于,還包括使用web服務(wù)來傳 輸所述輸出。
9. 如權(quán)利要求l所述的方法,其特征在于,在再次調(diào)用所述命令行實(shí) 用程序時(shí)將所述輸出用作自變量來再次調(diào)用所述命令行實(shí)用程序包括再次調(diào)用所述命令行實(shí)用程序以執(zhí)行與在首次調(diào)用所述命令行實(shí)用程序以執(zhí)行總體 上更復(fù)雜的操作時(shí)執(zhí)行的特定功能相關(guān)的功能。
10. —種在一計(jì)算系統(tǒng)中的使用能夠執(zhí)行多個(gè)功能的單個(gè)命令行實(shí)用 程序來執(zhí)行功能的方法,其中所述命令行實(shí)用程序能夠接受所述命令行實(shí)用程 序的輸出作為由所述命令行實(shí)用程序執(zhí)行的各個(gè)功能的自變量,所述方法包括 如下動作從用戶接收單個(gè)命令行語句,其中所述單個(gè)命令行語句包括指定要執(zhí)行的 功能的多個(gè)自變量;生成輸出作為正被執(zhí)行的由所述多個(gè)自變量中的至少一個(gè)指定的第一功能的結(jié)果;以及以未修改的形式使用所述輸出作為用于執(zhí)行由所述多個(gè)自變量中的至少 一個(gè)指定的第二功能的輸入。
11. 如權(quán)利要求10所述的方法 文檔。
12. 如權(quán)利要求10所述的方法到文件中。
13. 如權(quán)利要求10所述的方法 出流傳送到STDOUT流中。
14. 如權(quán)利要求10所述的方法 述輸出流傳送到STDIN流中。
15. —種包括用于執(zhí)行如權(quán)利要求10所述的動作的計(jì)算機(jī)可執(zhí)行指令 的計(jì)算機(jī)可讀介質(zhì)。
16. —種在一計(jì)算系統(tǒng)中的使用能夠執(zhí)行多個(gè)功能的單個(gè)命令行實(shí)用 程序來執(zhí)行功能的方法,其中所述命令行實(shí)用程序能夠接受所述命令行實(shí)用程 序的輸出作為由所述命令行實(shí)用程序執(zhí)行的各個(gè)功能的自變量,所述方法包括 如下動作生成輸出作為執(zhí)行所述命令行實(shí)用程序來執(zhí)行第一功能的結(jié)果;以及 以未修改的形式將所述輸出用管道送回所述命令行實(shí)用程序以供在執(zhí)行 第二功能時(shí)使用。,其特征在于,生成輸出包括生成標(biāo)記 ,其特征在于,還包括將所述輸出存儲 ,其特征在于,生成輸出包括將所述輸 ,其特征在于,使用所述輸出包括將所
17. 如權(quán)利要求16所述的方法,其特征在于,以未修改的形式將所述 輸出用管道送回所述命令行實(shí)用程序包括管道化STDIN流。
18. —種包括用于執(zhí)行如權(quán)利要求16所述的動作的計(jì)算機(jī)可執(zhí)行指令 的計(jì)算機(jī)可讀介質(zhì)。
19. 如權(quán)利要求16所述的方法,其特征在于,生成輸出包括生成標(biāo)記 文檔。
20. 如權(quán)利要求16所述的方法,其特征在于,以未修改的形式將所述 輸出用管道送回所述命令行實(shí)用程序包括使用web服務(wù)來傳輸所述輸出。
全文摘要
管道化命令行功能。一種方法可以在一計(jì)算系統(tǒng)中實(shí)踐。該方法包括用于使用能夠執(zhí)行多個(gè)功能的單個(gè)命令行實(shí)用程序來執(zhí)行功能的動作。該命令行實(shí)用程序能夠接受該命令行實(shí)用程序的輸出作為由該命令行實(shí)用程序執(zhí)行的功能的自變量。該方法包括調(diào)用命令行實(shí)用程序來執(zhí)行特定功能。從該命令行實(shí)用程序接收輸出。在再次調(diào)用該命令行實(shí)用程序時(shí),使用該輸出作為自變量來再次調(diào)用該命令行實(shí)用程序。
文檔編號G06F17/00GK101405721SQ200780009328
公開日2009年4月8日 申請日期2007年2月6日 優(yōu)先權(quán)日2006年3月15日
發(fā)明者B·阿拉姆, M·沃洛達(dá)爾斯基 申請人:微軟公司