Có một cách để làm điều này mà không cần phải ghi đầu ra vào một tập tin.
Ví dụ: giả sử bạn muốn chụp lại văn bản của danh sách thư mục. (. Sẽ có rất nhiều cách tốt hơn để có được nó hơn thế này, nhưng tôi chỉ cần sử dụng một ví dụ đơn giản)
Với chức năng dưới đây trong VBScript của bạn, bạn có thể nhập:
thisDir = getCommandOutput("cmd /c dir c:")
Và khi dòng trên được thực hiện, biến "thisDir" sẽ chứa đầu ra từ lệnh DIR. Lưu ý rằng một số lệnh bạn muốn xuất ra sẽ yêu cầu bạn truyền chúng thông qua lệnh shell (phần "cmd/c" ở trên), trong khi các lệnh khác có thể hoạt động tốt nếu bạn chạy chúng trực tiếp mà không có trình bao. Hãy thử nó mà không có lệnh shell. Nếu nó không thành công, hãy thử nó bằng lệnh shell.
'
' Capture the results of a command line execution and
' return them to the caller.
'
Function getCommandOutput(theCommand)
Dim objShell, objCmdExec
Set objShell = CreateObject("WScript.Shell")
Set objCmdExec = objshell.exec(thecommand)
getCommandOutput = objCmdExec.StdOut.ReadAll
end Function
Nguồn
2012-08-09 16:14:04
ok tốt, nó hoạt động, nhưng tôi cần kết quả trong var, để sử dụng trong If, tôi có thể làm điều này không? Cảm ơn bạn đã trợ giúp! – user1528355
@ user1528355 xem bài chỉnh sửa –
Cảm ơn bro! Nó hoạt động! Một điều, ";" không cần nó. Trợ giúp tốt và quá nhanh! – user1528355