Why is XP so Dumb?

  • Thread starter Thread starter Harry
  • Start date Start date
H

Harry

After a recent upgrade with a new disk C: I noticed that quite a lot of
data on the old disk [ now D:] had been left behind.
No problem I thought it's only data after all i.e. mainly xls and doc
files - I'll just move them into the new data folder on C:. In my dreams !!!

Whenever I try to do it I get a message *unable to read from source file or
disk* and the operation bombs out.
What with all the folders and sub folders there's probably about 1200 files
to be transferred and , presumably, one or more of them is corrupted.

My questions : a) why doesn't Windows have the decency and/or intelligence
to tell me which one(s) ?
b) why doesn't Windows carry on with the rest of the
operation and just leave the corrupted ones at the source? - at least that
way I'd have a fighting chance of
identifying the rogue files and deciding whether to try and repair or
abandon them.

Harry
 
Try this http://support.microsoft.com/?kbid=308421



| Any clues in the System Event log?
|
|
| | > After a recent upgrade with a new disk C: I noticed
that quite a lot of
| > data on the old disk [ now D:] had been left behind.
| > No problem I thought it's only data after all i.e.
mainly xls and doc
| > files - I'll just move them into the new data folder on
C:. In my dreams
| !!!
| >
| > Whenever I try to do it I get a message *unable to read
from source file
| or
| > disk* and the operation bombs out.
| > What with all the folders and sub folders there's
probably about 1200
| files
| > to be transferred and , presumably, one or more of them
is corrupted.
| >
| > My questions : a) why doesn't Windows have the decency
and/or
| intelligence
| > to tell me which one(s) ?
| > b) why doesn't Windows carry on
with the rest of
| the
| > operation and just leave the corrupted ones at the
source? - at least
| that
| > way I'd have a
fighting chance of
| > identifying the rogue files and deciding whether to try
and repair or
| > abandon them.
| >
| > Harry
| >
| >
|
|
 
Try using xcopy

it came with XP note /c - ignores errors

XP is not dumb it just has a great number of options.

Hemlock


XcopyCopies files and directories, including subdirectories.

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]

Parameters
Source
Required. Specifies the location and names of the files you want to
copy. This parameter must include either a drive or a path.
Destination
Specifies the destination of the files you want to copy. This
parameter can include a drive letter and colon, a directory name, a
file name, or a combination of these.
/w
Displays the following message and waits for your response before
starting to copy files:
Press any key to begin copying file(s)

/p
Prompts you to confirm whether you want to create each destination
file.
/c
Ignores errors.
/v
Verifies each file as it is written to the destination file to make
sure that the destination files are identical to the source files.
/q
Suppresses the display of xcopy messages.
/f
Displays source and destination file names while copying.
/l
Displays a list of files that are to be copied.
/g
Creates decrypted destination files.
/d[:mm-dd-yyyy]
Copies source files changed on or after the specified date only. If
you do not include a mm-dd-yyyy value, xcopy copies all Source files
that are newer than existing Destination files. This command-line
option allows you to update files that have changed.
/u
Copies files from Source that exist on Destination only.
/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.
/s
Copies directories and subdirectories, unless they are empty. If you
omit /s, xcopy works within a single directory.
/e
Copies all subdirectories, even if they are empty. Use /e with the /s
and /t command-line options.
/t
Copies the subdirectory structure (that is, the tree) only, not files.
To copy empty directories, you must include the /e command-line
option.
/k
Copies files and retains the read-only attribute on destination files
if present on the source files. By default, xcopy removes the
read-only attribute.
/r
Copies read-only files.
/h
Copies files with hidden and system file attributes. By default, xcopy
does not copy hidden or system files.
/a
Copies only source files that have their archive file attributes set.
/a does not modify the archive file attribute of the source file. For
information about how to set the archive file attribute by using
attrib, see Related Topics.
/m
Copies source files that have their archive file attributes set.
Unlike /a, /m turns off archive file attributes in the files that are
specified in the source. For information about how to set the archive
file attribute by using attrib, see Related Topics.
/n
Creates copies by using the NTFS short file or directory names. /n is
required when you copy files or directories from an NTFS volume to a
FAT volume or when the FAT file system naming convention (that is, 8.3
characters) is required on the destination file system. The
destination file system can be FAT or NTFS.
/o
Copies file ownership and discretionary access control list (DACL)
information.
/x
Copies file audit settings and system access control list (SACL)
information (implies /o).
/exclude:filename1[+[filename2]][+[filename3]]
Specifies a list of files containing strings.
/y
Suppresses prompting to confirm that you want to overwrite an existing
destination file.
/-y
Prompts to confirm that you want to overwrite an existing destination
file.
/z
Copies over a network in restartable mode.
/?
Displays help at the command prompt.
Remarks
Using /v
Windows XP does not use this command. It is accepted only for
compatibility with MS-DOS files.

Using /exclude
List each string in a separate line in each file. If any of the listed
strings match any part of the absolute path of the file to be copied,
that file is then excluded from the copying process. For example, if
you specify the string "\Obj\", you exclude all files underneath the
Obj directory. If you specify the string ".obj", you exclude all files
with the .obj extension.

Using /z
If you lose your connection during the copy phase (for example, if the
server going offline severs the connection), it resumes after you
reestablish the connection. /z also displays the percentage of the
copy operation completed for each file.

Using /y in the COPYCMD environment variable
You can use /y in the COPYCMD environment variable. You can override
this command by using /-y on the command line. By default, you are
prompted to overwrite, unless you run copy from within a batch script.

Copying encrypted files
Copying encrypted files to a volume that does not support EFS results
in an error. Decrypt the files first or copy the files to a volume
that does support EFS.

Appending files
To append files, specify a single file for destination, but multiple
files for source (that is, by using wildcards or file1+file2+file3
format).

Default value for Destination
If you omit Destination, the xcopy command copies the files to the
current directory.

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.

Using the xcopy command to set archive attribute for Destination files
The xcopy command creates files with the archive attribute set,
whether or not this attribute was set in the source file. For more
information about file attributes and attrib, see Related Topics.

Comparing xcopy and diskcopy
If you have a disk that contains files in subdirectories and you want
to copy it to a disk that has a different format, use the xcopy
command instead of diskcopy. Because the diskcopy command copies disks
track by track, your source and destination disks must have the same
format. The xcopy command does not have this requirement. Use xcopy
unless you need a complete disk image copy.

Exit codes for xcopy
To process exit codes returned by xcopy, use the errorlevel parameter
on the if command line in a batch program. For an example of a batch
program that processes exit codes using if, see Related Topics. The
following table lists each exit code and a description.

Exit code Description
0 Files were copied without error.
1 No files were found to copy.
2 The user pressed CTRL+C to terminate xcopy.
4 Initialization error occurred. There is not enough memory or disk
space, or you entered an invalid drive name or invalid syntax on the
command line.
5 Disk write error occurred.

Examples
To copy all the files and subdirectories (including any empty
subdirectories) from drive A to drive B, type:

xcopy a: b: /s /e

To include any system or hidden files in the previous example, add
the/h command-line option as follows:

xcopy a: b: /s /e /h

To update files in the \Reports directory with the files in the
\Rawdata directory that have changed since December 29, 1993, type:

xcopy \rawdata \reports /d:12-29-1993

To update all the files that exist in \Reports in the previous
example, regardless of date, type:

xcopy \rawdata \reports /u

To obtain a list of the files to be copied by the previous command
(that is, without actually copying the files), type:

xcopy \rawdata \reports /d:12-29-1993 /l > xcopy.out

The file Xcopy.out lists every file that is to be copied.

To copy the \Customer directory and all subdirectories to the
directory \\Public\Address on network drive H:, retain the read-only
attribute, and be prompted when a new file is created on H:, type:

xcopy \customer h:\public\address /s /e /k /p

To issue the previous command, ensure that xcopy creates the \Address
directory if it does not exist, and suppress the message that appears
when you create a new directory, add the /i command-line option as
follows:

xcopy \customer h:\public\address /s /e /k /p /i

You can create a batch program to perform xcopy operations and use the
batch if command to process the exit code if an error occurs. For
example, the following batch program uses replaceable parameters for
the xcopy source and destination parameters:

@echo off
rem COPYIT.BAT transfers all files in all subdirectories of
rem the source drive or directory (%1) to the destination

rem drive or directory (%2)

xcopy %1 %2 /s /e

if errorlevel 4 goto lowmemory
if errorlevel 2 goto abort
if errorlevel 0 goto exit

:lowmemory
echo Insufficient memory to copy files or
echo invalid drive or command-line syntax.
goto exit

:abort
echo You pressed CTRL+C to end the copy operation.
goto exit

:exit

To use this batch program to copy all files in the C:\Prgmcode
directory and its subdirectories to drive B, type:

copyit c:\prgmcode b:

The command interpreter substitutes C:\Prgmcode for %1 and B: for %2,
then uses xcopy with the /e and /s command-line options. If xcopy
encounters an error, the batch program reads the exit code and goes to
the label indicated in the appropriate IF ERRORLEVEL statement, then
displays the appropriate message and exits from the batch program.

Formatting legend
Format Meaning
Italic Information that the user must supply
Bold Elements that the user must type exactly as shown
Ellipsis (...) Parameter that can be repeated several times in a
command line
Between brackets ([]) Optional items
Between braces ({}); choices separated by pipe (|). Example:
{even|odd} Set of choices from which the user must choose only one
Courier font Code or program output

Related Topics

Try this http://support.microsoft.com/?kbid=308421



| Any clues in the System Event log?
|
|
| | > After a recent upgrade with a new disk C: I noticed
that quite a lot of
| > data on the old disk [ now D:] had been left behind.
| > No problem I thought it's only data after all i.e.
mainly xls and doc
| > files - I'll just move them into the new data folder on
C:. In my dreams
| !!!
| >
| > Whenever I try to do it I get a message *unable to read
from source file
| or
| > disk* and the operation bombs out.
| > What with all the folders and sub folders there's
probably about 1200
| files
| > to be transferred and , presumably, one or more of them
is corrupted.
| >
| > My questions : a) why doesn't Windows have the decency
and/or
| intelligence
| > to tell me which one(s) ?
| > b) why doesn't Windows carry on
with the rest of
| the
| > operation and just leave the corrupted ones at the
source? - at least
| that
| > way I'd have a
fighting chance of
| > identifying the rogue files and deciding whether to try
and repair or
| > abandon them.
| >
| > Harry
| >
| >
|
|
 
I've often wondered the same thing. I wouldn't call the os dumb for that,
but the coding author wasn't thinking.

One way to fairly quickly locate the problem file is to use the "rule of
halves" for copying. It's an exponential operation and works well.
-- Copy 1/2 the files. If it works, problem file is in the other half.
-- If it doesn't work, it's in the half you tried to copy.
-- Now try copying half of the half that has the problem file (1/4 of the
files now)
-- See whether the problem file is in the copied half or the uncopied
half.
-- Copy half of the half of a half now (1/8th of the files now).
and so on. You effectively cut the portion of the total list by 1/2, then
1/4, 1/8, 1/16/ 1/32, 1/64, 1/128, 1/256,1/512, etc and will isolate the
problem file.
There might be more then one problem file though if it's refusing to copy
because the file is in use or something like that, so don't be thrown if
both halves of one of the operations have problems.
This will work whether you have ten or a thousand files to work with.

If you can use the command line though, XCOPY.exe is also a good thing to
try. I've found most people don't have any familiarity with it though so I
don't usually explain it.
That said, go to the command prompt and type "xcopy /?" without the quotes
for a list of the options and format of the command.

Pop
 
Back
Top