2016-04-24 476 views
0

我想要一些在命令提示窗口(Windows CMD)上獲取在線內容的方式。通過CMD下載網頁內容

想象一下,某些內容可以在線存儲在託管服務或託管服務提供給您的MySql數據庫中。它可以是以任何形式存儲的任何數據。我只想在世界任何地方的CMD窗口的幫助下遠程查看它。我應該使用什麼命令?

爲了使其更清楚,我們只需說你有一天的時間來準備考試。而不是準備它,你正在制定一個計劃作弊。

現在您的考試將在已分配給您的計算機上進行,並且您不允許在PC上使用瀏覽器或下載任何新應用程序。但是你可以使用命令提示符,所以你的任務是一個騙子是把答案放在網上的地方。你不能安裝任何新東西。

如果您被困在上述場景中,您將如何處理?

P.S這僅限教育用途。我沒有這樣的考試。

+0

這完全取決於內容如何存儲和訪問。 CMD知道如何從SMB網絡共享('\\ computername \ folder')中獲取東西,但是您需要運行一個程序來訪問大多數其他內容(即:sqlcmd用於數據庫,或者iexplore用於Web內容) –

+0

@RyanBemrose想象我有一個文本文件上傳www.mywebsite.com/myfile.txt 是dere任何方式我可以在CMD上查看此文件的內容,或在記事本中打開此文件,但不是瀏覽器或第三方應用程序 –

+0

CMD如果不使用瀏覽器或其他程序(如UnxUtils'wget')下載頁面,則不支持它。如果允許運行PowerShell,那麼使用'Invoke-Webrequest'可能會帶來一些好運。 –

回答

1
Set Arg = WScript.Arguments 
set WshShell = createObject("Wscript.Shell") 
Set Inp = WScript.Stdin 
Set Outp = Wscript.Stdout 
On Error Resume Next 
    Set File = WScript.CreateObject("Microsoft.XMLHTTP") 
    File.Open "GET", Arg(1), False 
    File.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 3.0.30618; .NET4.0C; .NET4.0E; BCD2000; BCD2000)" 
    File.Send 
    txt=File.ResponseText 
    'Putting in line endings 
    Outp.write txt 
    If err.number <> 0 then 
     Outp.writeline "" 
     Outp.writeline "Error getting file" 
     Outp.writeline "==================" 
     Outp.writeline "" 
     Outp.writeline "Error " & err.number & "(0x" & hex(err.number) & ") " & err.description 
     Outp.writeline "Source " & err.source 
     Outp.writeline "" 
     Outp.writeline "HTTP Error " & File.Status & " " & File.StatusText 
     Outp.writeline File.getAllResponseHeaders 
     Outp.writeline LCase(Arg(1)) 
    End If 

一般使用

過濾器是在命令提示符下使用。 Filter.vbs必須使用cscript.exe運行。如果你只是輸入過濾器,它將運行一個批處理文件,這將自動執行此操作。

filter subcommand [parameters] 

過濾器只能讀取和寫入標準輸出。這些僅在命令提示符下可用。

filter <inputfile >outputfile 
filter <inputfile | other_command 
other_command | filter >outputfile 
other_command | filter | other_command 

網絡

filter web webaddress 
filter ip webaddress 

從網上下載一個文件,並將其寫入到標準輸出。

webaddress - a web address fully specified including http:// 

獲取微軟的主頁上有19例

filter web http://www.microsoft.com 

過濾命令提示符腳本avaialable在https://onedrive.live.com/redir?resid=E2F0CE17A268A4FA!121&authkey=!AAFg7j814-lJtmI&ithint=folder%2cres

2

這完全取決於內容如何存儲和訪問。 CMD知道如何從SMB網絡共享中獲取東西(\ computername \ folder),但您需要運行程序來訪問大多數其他內容。 (例如:數據庫的sqlcmd)

CMD不支持下載Web內容。您將需要使用其他程序連接到網站並下載頁面。很顯然,瀏覽器會工作。另一種選擇是從UnxUtils下載wget.exe。或者使用其他腳本語言,如PowerShellWscript

如果您有權啓動PowerShell(預裝在Windows 7-10),則可以使用。NET庫下載網絡資源。

PS> Invoke-Webrequest 'www.mywebsite.com/myfile.txt' -OutFile '.\myfile.txt' 

這將使用.NET連接到頁面並將其下載到本地目錄中。要下載到另一個目錄或文件名,請更改-OutFile參數。

要從CMD啓動此功能,只需在CMD中輸入powershell並從此處運行PS命令即可進入PowerShell提示。或者,您可以使用powershell -c命令從CMD運行PS命令。

powershell.exe -c "invoke-webrequest 'www.mywebsite.com/myfile.txt' -outfile .\myfile.txt" 
2

You can check this question .The最簡單的方法是用bitsadmin命令:

bitsadmin /transfer myDownloadJob /download /priority normal http://downloadsrv/10mb.zip c:\10mb.zip 

您也可以嘗試winhttpjs.bat

call winhhtpjs.bat https://example.com/files/some.zip -saveTo c:\somezip.zip