Pagina 1 di 1

Mi serve un aiuto per un file .vbs ????

MessaggioInviato: 26 apr 2009, 12:57
da klejdi
in un file .bat per selezionare una variabile di un utente si fa %username%
per fare la stessa cosa in un file .vbs come si fa ???
Codice: Seleziona tutto
Option Explicit

Const FOF_CREATEPROGRESSDLG = &H0&
Dim sSourceFolder
Dim sArchiveFile
Dim oShell
Dim oZIP
Dim oSourceFolder

'Settaggio Variabili
sSourceFolder = "[color=#408000]C:\Documents and Settings\klejdi\Local Settings\"[/color]
sArchiveFile = "C:\Zip_Out.ZIP"

Dim oFSO
Dim oFile
Dim iFiles
Dim Fldr

Set oFSO = CreateObject( "Scripting.FileSystemObject" )
Set oFile = oFSO.OpenTextFile( sArchiveFile , 2, True )
oFile.Write "PK" & Chr(5) & Chr(6) & String( 18, Chr(0) )
oFile.Close
Set oFile = Nothing
Set oFSO = Nothing

iFiles = 0

With CreateObject("Shell.Application")

  'Copy the files to the compressed folder
 

   .NameSpace(sArchiveFile).CopyHere .NameSpace( sSourceFolder ).Items, FOF_CREATEPROGRESSDLG

  iFiles = iFiles + .NameSpace( sSourceFolder ).Items.Count

  'Keep script waiting until Compressing is done
  On Error Resume Next
  Do Until .NameSpace( sArchiveFile ).Items.Count = iFiles
   wScript.Sleep 1000
  Loop
  On Error GoTo 0
   
End With                         

Re: Mi serve un aiuto per un file .vbs ????

MessaggioInviato: 26 apr 2009, 13:10
da phylum
per "variabile di un utente" intendi le variabili d'ambiente es PATH WINDIR etc ?

comunque:

Codice: Seleziona tutto
Dim shell, ambiente, miaprop
Set shell = CreateObject("WScript.Shell")
Set ambiente = shell.Environment("Process") ' al posto Process puo' anche mettere System, cambia pero' il contesto

miaprop = ambiente("USERNAME") ' altri validi: HOMEPATH (che ti da \utenti\nomeutente), PATH


MsgBox miaprop

Re: Mi serve un aiuto per un file .vbs ????

MessaggioInviato: 26 apr 2009, 13:25
da klejdi
phylum ha scritto:per "variabile di un utente" intendi le variabili d'ambiente es PATH WINDIR etc ?

comunque:

Codice: Seleziona tutto
Dim shell, ambiente
Set shell = CreateObject("WScript.Shell")
Set ambiente = shell.Environment("Process")

miaprop = ambiente("PATH")


MsgBox miaprop

nn ho caito bn il codice(perché nn sn bravo al PC ) me lo potresti inserire nel codice da me esposto??
questo codice mi crea il file zip di una cartella es. C:\Documents and Settings\klejdi\Local Settings , se io nn conosco il nome utente come faccio ???

Re: Mi serve un aiuto per un file .vbs ????

MessaggioInviato: 26 apr 2009, 13:27
da phylum
sSourceFolder diventa:
sSourceFolder = ambiente("HOMEPATH") & "\Local settings\"

nota HOMEPATH è disp. ALMENO su XP Home, XP Pro, XP Fund., Vista, Win7
le altre righe le incolli per come sono PRIMA di sSourceFolder

Re: Mi serve un aiuto per un file .vbs ????

MessaggioInviato: 26 apr 2009, 13:38
da klejdi
phylum ha scritto:per "variabile di un utente" intendi le variabili d'ambiente es PATH WINDIR etc ?

comunque:

Codice: Seleziona tutto
Dim shell, ambiente, miaprop
Set shell = CreateObject("WScript.Shell")
Set ambiente = shell.Environment("Process") ' al posto Process puo' anche mettere System, cambia pero' il contesto

miaprop = ambiente("USERNAME") ' altri validi: HOMEPATH (che ti da \utenti\nomeutente), PATH


MsgBox miaprop

forse nn mi sn spiegato in modo chiaro .
in un file bat si fa così C:\Documents and Settings\%username%\Local Settings\
come si fa a fare la stessa cosa in vbs
scusa il disturbo.

Re: Mi serve un aiuto per un file .vbs ????

MessaggioInviato: 26 apr 2009, 13:38
da phylum
nn offenderti ma ho gia' risposto ;)

vediamo se cosi e' piu chiaro:

Option Explicit

Const FOF_CREATEPROGRESSDLG = &H0&
Dim sSourceFolder
Dim sArchiveFile
Dim oShell
Dim oZIP
Dim oSourceFolder

Dim shell, ambiente
Set shell = CreateObject("WScript.Shell")
Set ambiente = shell.Environment("Process")


'Settaggio Variabili
sSourceFolder = ambiente("HOMEDRIVE") & ambiente("HOMEPATH") & "\Local settings\"

sArchiveFile = "C:\Zip_Out.ZIP"

Dim oFSO
Dim oFile
Dim iFiles
Dim Fldr

Set oFSO = CreateObject( "Scripting.FileSystemObject" )
Set oFile = oFSO.OpenTextFile( sArchiveFile , 2, True )
oFile.Write "PK" & Chr(5) & Chr(6) & String( 18, Chr(0) )
oFile.Close
Set oFile = Nothing
Set oFSO = Nothing

iFiles = 0

With CreateObject("Shell.Application")

'Copy the files to the compressed folder


.NameSpace(sArchiveFile).CopyHere .NameSpace( sSourceFolder ).Items, FOF_CREATEPROGRESSDLG

iFiles = iFiles + .NameSpace( sSourceFolder ).Items.Count

'Keep script waiting until Compressing is done
On Error Resume Next
Do Until .NameSpace( sArchiveFile ).Items.Count = iFiles
wScript.Sleep 1000
Loop
On Error GoTo 0

End With

Re: Mi serve un aiuto per un file .vbs ????

MessaggioInviato: 26 apr 2009, 13:40
da klejdi
phylum ha scritto:nn offenderti ma ho gia' risposto ;)

scusa nn avevo letto
#-o

grazie

Re: Mi serve un aiuto per un file .vbs ????

MessaggioInviato: 26 apr 2009, 13:50
da klejdi
ma che tu sappia è possibile comprimere una determinata cartella con un file .bat ???

Re: Mi serve un aiuto per un file .vbs ????

MessaggioInviato: 26 apr 2009, 14:17
da phylum
certo basta che ti appoggi a un programma di compressione e gli passi la cartella come argomento ;)