Pregunta

Escribí una pequeña aplicación de descarga para poder tomar fácilmente un conjunto de archivos de mi servidor y colocarlos todos en una nueva PC con una instalación limpia de Windows, sin tener que conectarme a la red.Lamentablemente, tengo problemas para crear la carpeta en la que quiero colocarlos y no estoy seguro de cómo hacerlo.

Quiero que mi programa descargue las aplicaciones program files\any name here\

Básicamente, necesito una función que verifique si existe una carpeta y, si no es así, la crea.

¿Fue útil?

Solución

If(Not System.IO.Directory.Exists(YourPath)) Then
    System.IO.Directory.CreateDirectory(YourPath)
End If

Otros consejos

En System.IO, hay una clase llamada Directorio.Haz lo siguiente:

If Not Directory.Exists(path) Then
    Directory.CreateDirectory(path)
End If

Se asegurará de que el directorio esté allí.

Como la pregunta no especificaba .NET, esto debería funcionar en 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

Prueba el System.IO.DirectoryInfo clase.

La muestra de 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

¿VB.NET?System.IO.Directory.Exists (ruta de cadena)

Prueba esto: Directory.Exists(TheFolderName) y Directory.CreateDirectory(TheFolderName)

(Tu puedes necesitar: Imports System.IO)

Directory.CreateDirectory() debería hacerlo.http://msdn.microsoft.com/en-us/library/system.io.directory.createdirectory(VS.71).aspx

Además, en Vista, probablemente no puedas escribir en C:directamente a menos que lo ejecute como administrador, por lo que es posible que desee omitirlo y crear el directorio que desea en un subdirectorio de C:(Lo cual yo diría que es una buena práctica a seguir de todos modos.-- es increíble cuánta gente simplemente tira basura en C:

Espero que ayude.

(importa System.IO)

if Not Directory.Exists(Path) then
  Directory.CreateDirectory(Path)
end if
If Not Directory.Exists(somePath) then
    Directory.CreateDirectory(somePath)
End If

Debería intentar utilizar el objeto del sistema de archivos o FSO.Hay muchos métodos pertenecientes a este objeto que verifican si existen carpetas y también crean carpetas nuevas.

Veo cómo funcionaría esto, cuál sería el proceso para crear un cuadro de diálogo que le permita al usuario nombrar la carpeta y colocarla donde desee.

Salud

Sólo haz esto:

        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

Declaré la ruta de la carpeta como una Cadena (sPath) de modo que, si la usa varias veces, pueda cambiarse fácilmente pero también puede cambiarse a través del programa mismo.

¡Espero eso ayude!

-nfell2009

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top