17. april 2007 - 08:53Der er
16 kommentarer og 2 løsninger
Printer script
Hej alle
Her er opgaven, (kan ikke selv har prøvet)
Jeg skal lave et vb script som start/stop service, og det skal være print spool servicen, som det første, det næste er at slette mappen C:\windows\system32\spool\drivers\ i den mappe ville jeg gerne have slettet hele indholdet i den mappe, .bat kan jeg godt men det skal være et vb script.. er der en som kan det pis, så er der 200 er af de hurtige... til den første som få det til at virke.... mvh Fedthans
Dim Wshshell, fso, win, drvname, foldername Set WshShell = Wscript.CreateObject("Wscript.Shell") Set fso = CreateObject("Scripting.FileSystemObject") Win = fso.GetSpecialFolder(0) drvname="Spooler" foldername="C:\a\prov\"
choice = Msgbox ("Hit YES to start the Print Spooler" & chr(13) & "Hit NO to stop the Print Spooler",3, "Make your choice") if choice = 6 Then Wshshell.Run Win & "\system32\sc.exe start " & drvname,true Elseif choice = 7 Then Wshshell.Run Win & "\system32\sc.exe stop " & drvname,true End if
choice = Msgbox ("Do you want to delete the spool\driver folder?",4, "Delete Spool\driver folder") if choice = 6 Then If fso.FolderExists(foldername) Then dim folder set folder = fso.GetFolder(foldername) folder.Delete End If End If
Dim Wshshell, fso, win, drvname, foldername Set WshShell = Wscript.CreateObject("Wscript.Shell") Set fso = CreateObject("Scripting.FileSystemObject") Win = fso.GetSpecialFolder(0) drvname="Spooler" foldername="C:\windows\system32\spool\drivers\"
choice = Msgbox ("Hit YES to start the Print Spooler" & chr(13) & "Hit NO to stop the Print Spooler",3, "Make your choice") if choice = 6 Then Wshshell.Run Win & "\system32\sc.exe start " & drvname,true Elseif choice = 7 Then Wshshell.Run Win & "\system32\sc.exe stop " & drvname,true End if
choice = Msgbox ("Do you want to delete the spool\driver folder?",4, "Delete Spool\driver folder") if choice = 6 Then If fso.FolderExists(foldername) Then dim folder set folder = fso.GetFolder(foldername) folder.Delete End If End If
super, men den kommer med en fejl som er : sript: c:\test.vbs linje 20 tegn 5 fejl tilladelse næge´tet kode 800a0046 kilde der opstod en microsoft vbssript kørselsfejl
Dim Wshshell, fso, win, drvname, foldername Set WshShell = Wscript.CreateObject("Wscript.Shell") Set fso = CreateObject("Scripting.FileSystemObject") Win = fso.GetSpecialFolder(0) drvname="Spooler" foldername="C:\windows\system32\spool\drivers\"
choice = Msgbox ("Hit YES to start the Print Spooler" & chr(13) & "Hit NO to stop the Print Spooler",3, "Make your choice") if choice = 6 Then Wshshell.Run Win & "\system32\sc.exe start " & drvname,true Elseif choice = 7 Then Wshshell.Run Win & "\system32\sc.exe stop " & drvname,true End if
choice = Msgbox ("Do you want to delete the spool\driver folder?",4, "Delete Spool\driver folder") if choice = 6 Then If fso.FolderExists(foldername) Then dim folder set folder = fso.GetFolder(foldername) folder.Delete true End If End If
Jo, hvis det er det, du vil have kan det da sagtens lade sig gøre. Bemærk dog: I din oprindelige beskrivelse var det lidt uklart om du vil have mappen "spool\drivers" slettet eller bare tømt. Jeg valgte at slette den, men nu skriver du igen at det kun er indholdet der skal slettes. Hvad er det rigtige?
Dim Wshshell, fso, win, drvname, foldername Set WshShell = Wscript.CreateObject("Wscript.Shell") Set fso = CreateObject("Scripting.FileSystemObject") drvname="Spooler" foldername="C:\windows\system32\spool\drivers\"
Wshshell.Run Win & "c:\windows\system32\sc.exe start " & drvname,true If fso.FolderExists(foldername) Then dim folder set folder = fso.GetFolder(foldername) folder.Delete, true End If Wshshell.Run Win & "\system32\sc.exe stop " & drvname,true
Dim Wshshell, fso, win, drvname, foldername Set WshShell = Wscript.CreateObject("Wscript.Shell") Set fso = CreateObject("Scripting.FileSystemObject") drvname="Spooler" foldername="C:\windows\system32\spool\drivers\" Wshshell.Run "c:\windows\system32\sc.exe stop " & drvname,true If fso.FolderExists(foldername) Then fso.DeleteFile foldername & "*.*", true End If Wshshell.Run Win & "\system32\sc.exe start " & drvname,true
Der var desuden fejl i den anden version også, så herkommer en rigtig:
Dim Wshshell, fso, drvname, foldername Set WshShell = Wscript.CreateObject("Wscript.Shell") Set fso = CreateObject("Scripting.FileSystemObject") drvname="Spooler" foldername="C:\windows\system32\spool\drivers\"
Wshshell.Run "c:\windows\system32\sc.exe stop " & drvname,true If fso.FolderExists(foldername) Then dim folder set folder = fso.GetFolder(foldername) folder.Delete, true End If Wshshell.Run Win & "\system32\sc.exe start " & drvname,true
Dim Wshshell, fso, drvname, foldername Set WshShell = Wscript.CreateObject("Wscript.Shell") Set fso = CreateObject("Scripting.FileSystemObject") drvname="Spooler" foldername="C:\windows\system32\spool\drivers\" Wshshell.Run "c:\windows\system32\sc.exe stop " & drvname,true If fso.FolderExists(foldername) Then fso.DeleteFile foldername & "*.*", true End If Wshshell.Run "c:\windows\system32\sc.exe start " & drvname,true
Slet mappe:
Dim Wshshell, fso, drvname, foldername Set WshShell = Wscript.CreateObject("Wscript.Shell") Set fso = CreateObject("Scripting.FileSystemObject") drvname="Spooler" foldername="C:\windows\system32\spool\drivers\"
Wshshell.Run "c:\windows\system32\sc.exe stop " & drvname,true If fso.FolderExists(foldername) Then dim folder set folder = fso.GetFolder(foldername) folder.Delete, true End If Wshshell.Run "c:\windows\system32\sc.exe start " & drvname,true
Kan du ikke lige svare på, hvilken version det er du ønsker at køre videre med. Det er lidt omstændeligt at lave 2 versioner...
Og så skal jeg høre: Ved den oprindelige version (med dialogboksene): Hvor i processen fik du fejlen (da du startede scriptet, efter første dialog, efter anden dialog)
Jeg har nu været ved at teste på den hårde måde. Problemet er simpelthen at der er (i hvert fald her) en mappe, som ikke kan slettes inde i driver-mappen (heller ikke selvom spool-servicen er slået fra): Den bruges af en anden proces. Derfor kan vbsriptet ikke udføre en sletning af hverken mappen eller indholdet.
cool... det kan jeg godt se, vender lige tilbage med hvad som skal slettes, og jeg ville gerne have den med stoppe servic slette de filer / mappe i C:\windows\system32\spool\drivers, (finder lige ud af hvad som skal slettes) start service igen...:)
Det er fordi windows låser filerne. Hvis du vil slette, skal du starte op i fejlsikret tilstand. se lidt mere her. http://support.microsoft.com/kb/222193
tak for hjælpen.... finder en anden løsning. fedthans
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.