Avatar billede stry Nybegynder
01. september 2003 - 16:39 Der er 6 kommentarer og
1 løsning

Defrag log

Jeg bruger følgende til at kalde defrag fra VB:
Call Shell("C:\WINDOWS\system32\defrag.exe C: -f", vbNormalFocus)

...og det fungerer efter planen (Jeg ved dog ikke om det er den mest hensigtsmæsige metode?).

Men problemet er at jeg ikke får nogen log-fil.
Jeg har en batch-fil:

defrag.exe c: -f >DefragLogC.txt

...som automatisk genererer log-filen "DefragLogC.txt", men hvis jeg ændrer ovenstående VB kode til:

Call Shell("C:\WINDOWS\system32\defrag.exe C: -f>DefragLogC.txt", vbNormalFocus)

..kører den defrag men generer ingen log-fil.

Hvordan får jeg lavet en defrag-log i VB?
Avatar billede vbcoder Nybegynder
01. september 2003 - 17:32 #1
prøv at angive logfilen med fuld sti til filen

//vbcoder
Avatar billede stry Nybegynder
01. september 2003 - 17:34 #2
Er prøvet, virker ikke :-(
Ps. OS = winXP pro (hvis det har nogen betydning)
Avatar billede sjh Nybegynder
01. september 2003 - 19:09 #3
prøv den her... kan ikke afprøve den har ikke winxp..


Option Explicit

Private Declare Function ShellExecute Lib "shell32.dll" _
                          Alias "ShellExecuteA" ( _
                          ByVal hwnd As Long, _
                          ByVal lpOperation As String, _
                          ByVal lpFile As String, _
                          ByVal lpParameters As String, _
                          ByVal lpDirectory As String, _
                          ByVal nShowCmd As Long) As Long

Private Sub Form_Load()
Dim strFile As String
Dim strParameter As String

  strFile = "C:\WINDOWS\system32\defrag.exe"
  strParameter = "C: -f > C:\DefragLogC.txt"
  ShellExecute Me.hwnd, vbNullString, strFile, strParameter, vbNullString, vbNormalFocus
End Sub
Avatar billede stry Nybegynder
01. september 2003 - 19:17 #4
Den kan jeg desværre heller ikke få til at virke.
cmd-prompten blinker lige en gang og så sker der ikke mere :-(
Avatar billede stry Nybegynder
01. september 2003 - 19:21 #5
Efter jeg fjernede mellemrummene omkring ">"-tegnet kører den defrag, men stadig uden log.
Avatar billede nanosoft00 Nybegynder
02. september 2003 - 23:37 #6
jeg mener at ">" er en commando ting. derfor skal du kalde den gennem cmd.exe

Call Shell("cmd.exe /c C:\WINDOWS\system32\defrag.exe C: -f>DefragLogC.txt", vbNormalFocus)

"/c" betyder at den skal afslutte cms'en efter programmet lukker
Avatar billede stry Nybegynder
03. september 2003 - 08:09 #7
>>nanosoft00
Det virker fint.
Tak for hjælpen :-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester