Mi sono scritto una piccola applicazione di download in modo da poter facilmente prendere una serie di file dal mio server e metterli tutti su un nuovo PC con un'installazione pulita di Windows, senza andare effettivamente in rete. Sfortunatamente sto riscontrando problemi nella creazione della cartella in cui voglio inserirli e non sono sicuro di come procedere.
Voglio che il mio programma scarichi le app in program files\any name here\
Quindi, fondamentalmente, ho bisogno di una funzione che controlli se esiste una cartella e, in caso contrario, la crea.
If(Not System.IO.Directory.Exists(YourPath)) Then
System.IO.Directory.CreateDirectory(YourPath)
End If
In System.IO, esiste una classe chiamata Directory. Eseguire le seguenti operazioni:
If Not Directory.Exists(path) Then
Directory.CreateDirectory(path)
End If
Garantirà che la directory sia lì.
Poiché la domanda non specificava .NET, questo dovrebbe funzionare in VBScript o VB6.
Dim objFSO, strFolder
strFolder = "C:\Temp"
Set objFSO = CreateObject("Scripting.FileSystemObject")
If Not objFSO.FolderExists(strFolder) Then
objFSO.CreateFolder(strFolder)
End If
Prova la classe System.IO.DirectoryInfo .
L'esempio da MSDN:
Imports System
Imports System.IO
Public Class Test
Public Shared Sub Main()
' Specify the directories you want to manipulate.
Dim di As DirectoryInfo = New DirectoryInfo("c:\MyDir")
Try
' Determine whether the directory exists.
If di.Exists Then
' Indicate that it already exists.
Console.WriteLine("That path exists already.")
Return
End If
' Try to create the directory.
di.Create()
Console.WriteLine("The directory was created successfully.")
' Delete the directory.
di.Delete()
Console.WriteLine("The directory was deleted successfully.")
Catch e As Exception
Console.WriteLine("The process failed: {0}", e.ToString())
End Try
End Sub
End Class
Prova questo: Directory.Exists(TheFolderName)
e Directory.CreateDirectory(TheFolderName)
(Potresti aver bisogno: Imports System.IO
)
VB.NET? System.IO.Directory.Exists (percorso stringa)
Directory.CreateDirectory () dovrebbe farlo. http://msdn.Microsoft.com/en-us/library/system.io.directory.createdirectory (VS.71) aspx
Inoltre, in Vista, probabilmente non puoi scrivere in C: direttamente se non lo esegui come amministratore, quindi potresti semplicemente ignorarlo e creare la directory che desideri in una sotto-directory di C: (che direi che è una buona pratica da seguire comunque - è incredibile quante persone scaricano schifo su C:
Spero che sia d'aiuto.
(importa System.IO)
se Not Directory.Exists (Path) quindi Directory.CreateDirectory (Path) termina se
If Not Directory.Exists(somePath) then
Directory.CreateDirectory(somePath)
End If
Dovresti provare a utilizzare l'oggetto file system o FSO. Esistono molti metodi appartenenti a questo oggetto che verificano l'esistenza di cartelle e la creazione di nuove cartelle.
Basta fare questo:
Dim sPath As String = "Folder path here"
If (My.Computer.FileSystem.DirectoryExists(sPath) = False) Then
My.Computer.FileSystem.CreateDirectory(sPath + "/<Folder name>")
Else
'Something else happens, because the folder exists
End If
Ho dichiarato il percorso della cartella come una stringa (sPath) in modo che se lo si utilizza più volte, può essere modificato facilmente ma anche tramite il programma stesso.
Spero che sia d'aiuto!
-nfell2009
Vedo come funzionerebbe, quale sarebbe il processo per creare una finestra di dialogo che consenta all'utente di nominare la cartella e posizionarla dove vuoi.
Saluti