• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

almamater

Copiar pasta de CD

7 mensagens neste tópico

:wallbash:  estive todo o dia a trabalhar nisto e não dá..

Queria Copiar uma pasta que está num  CD para o Disco rígido (Pasta Temp)... utilizei isto:

Para obter a pasta Temp..

Dim DirectorioTEMP As DirectoryInfo
Dim xTemp As String = GetEnvironmentVariable("TMP")
DirectorioTEMP = New DirectoryInfo("xTemp")

e para copiar a pasta pretendida:

   DirectorioTEMP.CreateSubdirectory("PastaPrograma")
   My.Computer.FileSystem.CopyDirectory(App_Path() & xFileDir, xTemp)

           

Ou seja , estou a usar My.Computer.FileSystem.CopyDirectory(Origem, Destino)

Ao testar no dico local a minha aplicação 100% (faz a cópia sem problemas), gravei para CD para testar (pois o objectivo é esse) e ocorre o seguinte erro ao copiar:

  System.UnauthorizedAccessException: Access to the path 'PastaPrograma' is denied.

  at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)

  at System.IO.Directory.InternalCreateDirectory(String fullPath, String path, DirectorySecurity dirSecurity)

  at System.IO.DirectoryInfo.CreateSubdirectory(String path, DirectorySecurity directorySecurity)

Posso fazer alguma coisa? Não é mesmo possível copiar uma pasta de uma drive CDROM para o disco através de VB?  :dontgetit:

Agradeço ajuda p.f.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estás a trabalhar com o Vista  e a gravar para o disco do Sistema Operativo?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estás a trabalhar com o Vista  e a gravar para o disco do Sistema Operativo?

Sim...

é assim tenho no CD umas pastas exemplo "PROGRAMAS\PASTA1" e o meu programa em VB nesta parte devia de copiar a PASTA1 para uma pasta no sistema operativo.. já testei "C:\" apenas pq podia ser algo com a pasta TEMP..mas não.. o erro está logo na leitura da PASTA1 pq está gravada em suporte de CD.. é o que eu penso k seja

Não sei se foi do método k utilizei para copiar.. mas não encontrei nenhuma outra forma de copiar o conteúdo de todo de uma pasta para uma outra..! e o estranho é que testando tudo antes de gravar para CD funciona.. só no CD é que não tem segundo o erro permissões!!! dam..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nop, o problema é ao criares a pasta. E deve-se a um problema de permissões.

System.UnauthorizedAccessException: Access to the path 'PastaPrograma' is denied.

Estás a usar o VB 2008? Se sim basta aumentares o UAC pedido.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nop, o problema é ao criares a pasta. E deve-se a um problema de permissões.

System.UnauthorizedAccessException: Access to the path 'PastaPrograma' is denied.

Estás a usar o VB 2008? Se sim basta aumentares o UAC pedido.

Humm o UAC é o User Account Control certo? eu acabei agora de testar em XP e acontece o mesmo erro.. será disso? se sim, essa alteração tem de ser no código do VB?

o erro completo:

************** Exception Text **************
System.UnauthorizedAccessException: Access to the path 'Look@LAN' is denied.
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.Directory.InternalCreateDirectory(String fullPath, String path, DirectorySecurity dirSecurity)
   at System.IO.DirectoryInfo.CreateSubdirectory(String path, DirectorySecurity directorySecurity)
   at Utilitários_de_Rede_v1._0.frmCompact.CopiarPastaTemp()
   at System.Windows.Forms.Control.OnClick(EventArgs e)
   at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/mscorlib.dll
----------------------------------------
Utilitários de Rede v1.0
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///G:/Utilit%E1rios%20de%20Rede%20v1.0.exe
----------------------------------------
Microsoft.VisualBasic
    Assembly Version: 8.0.0.0
    Win32 Version: 8.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll
----------------------------------------
System
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Configuration
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Runtime.Remoting
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Runtime.Remoting/2.0.0.0__b77a5c561934e089/System.Runtime.Remoting.dll
----------------------------------------
System.Management
    Assembly Version: 2.0.0.0
    Win32 Version: 2.0.50727.3053 (netfxsp.050727-3000)
    CodeBase: file:///C:/Windows/assembly/GAC_MSIL/System.Management/2.0.0.0__b03f5f7f11d50a3a/System.Management.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

em que "Look@LAN" é o nome da pasta...

Obrigado! estou em estado de choque.. tenho de ter isto pronto até amanha e só faltava testar,, não estava nada à espera deste erro! Testei com a aplicação a correr numa PEN Usb e não dá qualquer problema.. só qdo meto em CD!  :rant_01:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bom.. já resolvi a questão da cópia... tenho os olhos  assim.. :eek: agora o problema é que a pasta e os ficheiros vão todos como "RedOnly" pq vêm do CD e tenho de ir pesquisar como altero os atributos deles...  :nono1:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

  Public Sub RemoveReadOnlyAttributes(ByVal folder As String)

        For Each filename As String In My.Computer.FileSystem.GetFiles(folder)

            System.IO.File.SetAttributes(filename, IO.FileAttributes.Archive)

        Next

        For Each foldername As String In My.Computer.FileSystem.GetDirectories(folder)

            RemoveReadOnlyAttributes(foldername)

        Next

    End Sub

:D Obrigado pelas dicas, mesmo não tendo resolvido ajudaram!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora