Question

My app won't move my files

Asked by: MBoogie_25

I am making an app in VS2003 w/ vb where I need to move a file, and the debugger says:

An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in microsoft.visualbasic.dll
Additional information: Exception from HRESULT: 0x800A003A (CTL_E_FILEALREADYEXISTS).

Here's the code:

        On Error Resume Next
        Dim objFSO
        Dim strFileName, strFilePath, strDestPath
        Dim Path As String

        Path = Command()
        strFilePath = "K:\FTPPREP\" & Path
        strFileName = Dir(strFilePath & "\*.ZIP")
        strDestPath = "K:\FTP\" & Path
        objFSO = CreateObject("Scripting.FileSystemObject")
 
       If objFSO.FileExists(strFilePath & "\" & strFileName) Then
            MsgBox("File: Yes, and it is named: " & strFileName)
            objFSO.MoveFile(strFilePath & "\" & strFileName, strDestPath)
        Else
            MsgBox("File: No")
        End If

I do get the MsgBox saying the file is there with the correct file name, and I know for sure that the file isn't in the destination Path. I can even hardcode the MoveFile command, and it still won't get it there. What am I missing?

Kind of a sub-question: I demo'd PrimalScript, and I could compile exe's from vbs files with file manipulation (that worked!) The only way I can build an exe (in VS 2003) is by using a vb module in my project, and then building that. If I try using vbs files, It won't even let me build it. Am I doing something wrong even before the coding?

Thanks

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2005-11-08 at 13:23:46ID21623939
Tags

exception

,

0x800a003a

,

file

Topic

Programming for ASP.NET

Participating Experts
2
Points
300
Comments
10

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. Implements and CreateObject
    I have written an ActiveX EXE that exports a IExtender class so I can write DLLs that extend my app later. This class declares a Run method (with empty body) that extensions will need to implement. During initialization, this app looks in the Registry for a specific key indic...
  2. CreateObject
    I have a program that uses the createobject for word so that I can use the spell checker my problem is that not all users have word. Is there a way that I can check if the createobject("Word.application") is going to work before I run the command?
  3. CreateObject(
    Fellow developers, I have an ASP driven app that until yesterday was running on a single Windows 98 PC running PWS. I have migrated to a Windows 2000 Server (SP3) running IIS. I even installed MDAC 2.7. The website works except for a very important piece. I seem to...
  4. CreateObject in C#
    The title says it all: I need a functionality simular to CreateObject in C#. I need to be able to create an instance of a COM object, without first referencing it at design time, and then use it's properties (which are also unknown, since I do late binding, or whatever it's n...
  5. CreateObject
    I am trying to create a .NET application which will use much of an existing VB6 project. The original VB6 project is broken down into 4 layers; Presentation, Interface, Buisness, and Database. This architecture makes it easy to add onto the project or integrate different la...

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: s_sansanwalPosted on 2005-11-08 at 13:44:37ID: 15251768

Give ASPNET user permission to that folder. By default, asp.net runs under this user and it seems user don't have permission to this directory

 

by: cmhuntyPosted on 2005-11-09 at 02:53:47ID: 15255078

Hi

I'm assuming you want to move all .ZIP files from one folder to another? Why don't you use the .NET objects.......

        Dim strFileName, strFilePath, strDestPath As String
        strFilePath = "K:\FTPPREP\"
        strFileName = Dir(strFilePath & "\*.ZIP")
        strDestPath = "K:\FTP\"
        Dim dirMove As New System.IO.DirectoryInfo(strFilePath)
        For Each fileMove As System.IO.FileInfo In dirMove.GetFiles
            If fileMove.Extension = ".zip" Then
                fileMove.MoveTo(strDestPath)
            End If
        Next

Chris

 

by: cmhuntyPosted on 2005-11-09 at 03:01:13ID: 15255099

Apologies, should have read


        Dim strFileName, strFilePath, strDestPath As String
        strFilePath = "c:\mydata\"
        strFileName = Dir(strFilePath & "\*.ZIP")
        strDestPath = "c:\mydata\test\"
        Dim dirMove As New System.IO.DirectoryInfo(strFilePath)
        For Each fileMove As System.IO.FileInfo In dirMove.GetFiles
            If fileMove.Extension = ".xml" Then
                fileMove.MoveTo(strDestPath & fileMove.Name)
            End If
        Next

 

by: MBoogie_25Posted on 2005-11-09 at 08:30:09ID: 15257515

Thanks for the replies.

I took both of your advice.
First, I duplicated the folder structure locally, ensured that ASPNET user had full privs. Still no go.
Then, I added in your code (I did change xml to zip) and there weren't any errors, but the move still didn't go.

Everything I'm reading about this looks ok. That's why I wonder if I am not using the right thing to build this in the first place. I started with a blank project, and added a vb module. I don't need any forms, just some commands to execute. I can code it and buid it into an exe, but shouldn't I be able to run/debug it from within VS?

 

by: cmhuntyPosted on 2005-11-09 at 08:33:41ID: 15257566

Can you put a breakpoint in VS on the fileMove.MoveTo..... line and let me know if it ever hits this line?

Chris

 

by: MBoogie_25Posted on 2005-11-09 at 08:50:57ID: 15257763

Yeah, it looks like it gets there. Turns yellow and displays this in the Autos.

-      dirMove      {System.IO.DirectoryInfo}      System.IO.DirectoryInfo
      Attributes      Directory      System.IO.FileAttributes
      CreationTime      #11/9/2005 11:11:28 AM#      Date
      CreationTimeUtc      #11/9/2005 4:11:28 PM#      Date
      Exists      True      Boolean
      Extension      ""      String
      FullName      "C:\mydata"      String
      LastAccessTime      #11/9/2005 11:49:42 AM#      Date
      LastAccessTimeUtc      #11/9/2005 4:49:42 PM#      Date
      LastWriteTime      #11/9/2005 11:16:09 AM#      Date
      LastWriteTimeUtc      #11/9/2005 4:16:09 PM#      Date
      Name      "mydata"      String
+      Parent      {System.IO.DirectoryInfo}      System.IO.DirectoryInfo
+      Root      {System.IO.DirectoryInfo}      System.IO.DirectoryInfo


Call stack says:
>      FTPGAP.exe!GAP.Main() Line 52      Basic

-      fileMove      {System.IO.FileInfo}      System.IO.FileInfo
      Attributes      Archive      System.IO.FileAttributes
      CreationTime      #11/9/2005 11:16:09 AM#      Date
      CreationTimeUtc      #11/9/2005 4:16:09 PM#      Date
-      Directory      {System.IO.DirectoryInfo}      System.IO.DirectoryInfo
      Attributes      Directory      System.IO.FileAttributes
      CreationTime      #11/9/2005 11:11:28 AM#      Date
      CreationTimeUtc      #11/9/2005 4:11:28 PM#      Date
      Exists      True      Boolean
      Extension      ""      String
      FullName      "C:\mydata"      String
      LastAccessTime      #11/9/2005 11:49:42 AM#      Date
      LastAccessTimeUtc      #11/9/2005 4:49:42 PM#      Date
      LastWriteTime      #11/9/2005 11:16:09 AM#      Date
      LastWriteTimeUtc      #11/9/2005 4:16:09 PM#      Date
      Name      "mydata"      String
+      Parent      {System.IO.DirectoryInfo}      System.IO.DirectoryInfo
+      Root      {System.IO.DirectoryInfo}      System.IO.DirectoryInfo
      DirectoryName      "C:\mydata"      String
      Exists      True      Boolean
      Extension      ".ZIP"      String
      FullName      "C:\mydata\CSC.ZIP"      String
      LastAccessTime      #11/9/2005 11:16:09 AM#      Date
      LastAccessTimeUtc      #11/9/2005 4:16:09 PM#      Date
      LastWriteTime      #9/11/1997 10:29:36 AM#      Date
      LastWriteTimeUtc      #9/11/1997 2:29:36 PM#      Date
      Length      892      Long
      Name      "CSC.ZIP"      String
      fileMove.Extension      ".ZIP"      String

 

by: cmhuntyPosted on 2005-11-09 at 09:00:19ID: 15257862

So you're using my file structure C:\mydata and C:\mydata\test and both directories definitely exist?

Please could you just put this in above the FOR loop to ensure nothing silly is happening?

        Dim dirCheck As New System.io.DirectoryInfo(strDestPath)
        If dirCheck.Exists = False Then
            dirCheck.Create()
        End If

        Dim dirCheck2 As New System.io.DirectoryInfo(strFilePath)
        If dirCheck2.Exists = False Then
            Response.Write("The file path directory doesn't exist")
        End If


Thanks

Chris

 

by: MBoogie_25Posted on 2005-11-09 at 09:14:20ID: 15257991

I put that in place and this came up:

An unhandled exception of type 'System.IO.IOException' occurred in mscorlib.dll
Additional information: Cannot create a file when that file already exists.

Debugger goes right to the FileMove.Move line.

I am positive that the "setup" is good.

Thanks.

 

by: MBoogie_25Posted on 2005-11-09 at 09:35:52ID: 15258178

I just tried something different. I deleted the c:\mydata\test directory, and took out the code that makes it if it's not there.
After I ran it, the zip in c:\mydata is gone, and there is a "file" in c:\mydata called test.
Reminds me of when you try to copy a file in DOS to a directory that doesn't exist.

I'm going to try a couple things with this.

 

by: MBoogie_25Posted on 2005-11-09 at 13:25:54ID: 15260665

I found out what killed the process.

strFileName = Dir(strFilePath & "\*.ZIP")

I thought that wildcards didn't work, which led me to believe I needed the filename in the first place. Just to let you know what works for this:

Dim Path As String
        Path = Command()

        'On Error Resume Next
        Dim objFSO
        Dim NowTime
        Dim strZip, strDestPath, strBacPath As String

        'Set the Variables
        NowTime = Now()
        objFSO = CreateObject("Scripting.FileSystemObject")
        strZip = "K:\FTPPREP\" & Path & "\*.zip"
        strDestPath = "K:\FTP\" & Path
        strBacPath = "K:\FTPBAC\" & Path

        If objFSO.FolderExists(strDestPath) = False Then
            objFSO.CreateFolder(strDestPath)
        End If
        objFSO.CopyFile(strZip, strDestPath)

Thanks for your effort! You deserve the points.

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...