1.

Solve : xcopy can't tell a file from a directory??

Answer»

Hello-
I'm extremely new to DOS and Batch files, so please bear with me.
I'm using windows XP and have created a batch file to move files and directories from one directory to another. I am using the command "XCOPY".
My file works, but I'm wondering if there is some way to let "XCOPY" know in advance that I wish to copy a File or a Directory, so I don't get prompted with
"Is "c:/somedir" a File [F] or a Directory [D]?"
Here is my code..
Code: [Select]:: Resets Test
cd ../..
cd Test2
rmdir c:\Test2\views /s
del AppointmentsMap.xml
del ContactsMap.xml
del FileExtMap.xml
del init.xml
xcopy c:\Test1\views c:\Test2\views /e
xcopy c:\Test1\AppointmentsMap.xml c:\Test2\AppointmentsMap.xml /f
xcopy c:\Test1\ContactsMap.xml c:\Test2\ContactsMap.xml /f
xcopy c:\Test1\FileExtMap.xml c:\Test2\FileExtMap.xml /f
xcopy c:\Test1\init.xml c:\Test2\init.xml /fThanking anyone for a clue as to how this might be done..
If destination does not contain an existing directory and does not end with a backslash (\), xcopy prompts you with a message in the following format:

Does destination specify a file NAME or directory name on the target

(F = file, D = directory)?

You can AVOID this prompt by using the /i switch, in which case xcopy assumes the destination is a directory if the source is more than one file or a directory. Thank You for the tip re: the /i switch
my code now reads..
Code: [Select]:: Resets Test
cd ../..
cd Test2
rmdir c:\Test2\views /s
del AppointmentsMap.xml
del ContactsMap.xml
del FileExtMap.xml
del proinit.xml
xcopy c:\Test1\views c:\Test2\views /i/e
xcopy c:\Test1\AppointmentsMap.xml c:\Test2\AppointmentsMap.xml /f
xcopy c:\Test1\ContactsMap.xml c:\Test2\ContactsMap.xml /f
xcopy c:\Test1\FileExtMap.xml c:\Test2\FileExtMap.xml /f
xcopy c:\Test1\proinit.xml c:\Test2\proinit.xml /f
I no longer get asked about the views folder, but I still get asked about the xml files , whether they are files or directories??
Will the /i switch work there as well?

Quote from: nubia on August 04, 2007, 09:00:32 AM

I no longer get asked about the views folder, but I still get asked about the xml files , whether they are files or directories??
Will the /i switch work there as well?

I think so. Why don't you try it and see?

Ha! Ha!
Dumb question I guess..
OK I'll try it..
Thanks again for your help.Well I tried it and it doesn't work!
Code: [Select]:: Resets Test
cd ../..
cd Test2
rmdir c:\Test2\views /s
del AppointmentsMap.xml
del ContactsMap.xml
del FileExtMap.xml
del proinit.xml
xcopy c:\Test1\views c:\Test2\views /i/e
xcopy c:\Test1\AppointmentsMap.xml c:\Test2\AppointmentsMap.xml /i
xcopy c:\Test1\ContactsMap.xml c:\Test2\ContactsMap.xml /i
xcopy c:\Test1\FileExtMap.xml c:\Test2\FileExtMap.xml /i
xcopy c:\Test1\proinit.xml c:\Test2\proinit.xml /iI still get asked if the xml files are files or directories??Quote from: nubia on August 04, 2007, 09:36:44 AM
Well I tried it and it doesn't work!

Microsoft's notes about Xcopy include:

Quote
Syntax

xcopy Source [Destination] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:mm-dd-yyyy]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a|/m}] [/n] [/o] [/x] [/exclude:file1[+[file2]][+[file3]] [{/y|/-y}] [/z]

Quote
/i : If Source is a directory or contains wildcards and Destination does not exist, xcopy assumes destination specifies a directory name and CREATES a new directory. Then, xcopy copies all specified files into the new directory. By default, xcopy prompts you to specify whether Destination is a file or a directory.

Quote
Specifying whether Destination is a file or directory

If Destination does not contain an existing directory and does not end with a backslash (\), the following message appears:

Does destination specify a file name
or directory name on the target
(F = file, D = directory)?

Press F if you want the file or files to be copied to a file. Press D if you want the file or files to be copied to a directory.

You can suppress this message by using the /i command-line option, which causes xcopy to assume that the destination is a directory if the source is more than one file or a directory.

First I suggest you read the above and see if any of it applies to your situation. Second I suggest you go to Microsoft's page about Xcopy and read that

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/xcopy.mspx?mfr=true

Thirdly I suggest you change your code eg

Quote
xcopy c:\Test1\AppointmentsMap.xml c:\Test2\

and try that.

OK the third suggestion worked..
Thank you so MUCH for your not giving up on me. Nubia, no sweat! ALWAYS glad to help.


Discussion

No Comment Found