2013-08-22 13 views
1

我有一個腳本,執行以下操作關閉共享目錄中的所有文件

'Create a bat file 
Set objBatFile = objFS.CreateTextFile("X:\" & strType & "\closeit.bat",True) 
intExitCode = objBatFile.Write("for /f " & chr(34) & "skip=4 tokens=1" & chr(34) & " %%a in ('net files') do net files %%a /close") 
objBatFile.Close 
'Run the bat file to close all files in the directory 
intExitCode = objShell.Run("X:\" & strType & "\closeit.bat", intWindowStyle, blnWaitOnReturn) 
StopStart 
'Delete the bat file 
Set obj = CreateObject("Scripting.FileSystemObject") 
obj.DeleteFile("X:\" & strType & "\closeit.bat") 'Deletes the file throught the DeleteFile function 

我想知道如果的方式來使用VBScript來代替我使用關閉.bat文件命令的任何人知道在服務器上打開文件?我想,以取代線以下是爲了更清楚:

for /f " & chr(34) & "skip=4 tokens=1" & chr(34) & " %%a in ('net files') do net files %%a /close 
+1

難道你不能對立嗎?用批次替換整個VBS? –

回答

1

執行cmd

intExitCode = objShell.Run("CMD.EXE /C for /f ""skip=4 tokens=1"" %a in ('net files') do net files %a /close"), blnWaitOnReturn) 

注意FOR外批變量之前預計單%

您可以用""(至少在VBA和VB.NET中)替換"+Chr(34)+"

相關問題