2014-03-04 50 views
1

所以,爲了簡單起見,我創建了一個批處理文件,它將充當快捷菜單以減少桌面空間。我也添加了一些額外的功能。其中一個功能是搜索Google的功能。我查了一些與此有關的其他主題,並將這些更改空間變爲「+」。這工作得很好,直到我通過鍵入BACK返回到主菜單選項。該功能起作用,但我無法再搜索多個術語。此外,我的許多搜索將我帶到Google主頁。有任何想法嗎?在批處理文件中搜索谷歌

以下是腳本中與此相關的部分。還有另一個標籤叫做菜單。

:search 
echo. 
echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
echo Google Search 
echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 
echo. 
echo Please type search word or phrase and press ENTER 
echo To return to the menu, type BACK in all caps. 
echo. 
set /p SC=Search Criteria: 
if %SC%==BACK goto menu 
if %SC% NEQ BACK (set string=%SC: =+%) & (start "" /b "C:\Program Files\InternetExplorer\iexplore.exe" "http://www.google.com/search?q=%string%") 
pause 
echo. 
echo ------------------------------------------------------ 
echo Where to? 
echo ------------------------------------------------------ 
echo. 
echo 1 - Search again 
echo 2 - Main Menu 
echo. 
echo 3 - EXIT 
echo. 
set /p m=Type 1, 2, or 3 then press ENTER: 
if %m%==1 goto search 
if %m%==2 goto menu 
if %m%==3 goto close 

回答

0

您需要URLEncode搜索字符串。只需調用一個從批處理中獲取參數的java程序即可。 Java URLE編碼您的搜索條目並調用瀏覽器。我應該工作,我相信。

0

請注意此if比較中的引號,它可以防止空格和其他字符。

if /i "%SC%"=="BACK" goto Menu 

您可以在下面使用此代碼,當按enter alone,否則搜索將執行if將跳轉,和SC變量,+更換會發生沒有一個單獨的行。

set "sc=" 
set /p "SC=Search Criteria: " 
if not defined SC goto menu 
start "" /b "C:\Program Files\InternetExplorer\iexplore.exe" "http://www.google.com/search?q=%SC: =+%" 
pause 
+0

工作完美!謝謝! – user3379363