• Please review our updated Terms and Rules here
  • Exhibitor application for VCF West 2022 is now open! If you are interested in exhibiting, please fill out the form here.

DOS Copy command w/ a progress bar

Shadow Lord

Veteran Member
Joined
Jun 16, 2010
Messages
3,155
Location
California
Just wondering if anyone out there knows of DOS (ideally should run on 3.x and above) that has a progress bar display and has no issues w/ substituted drives or networked map drives. I swear there was a shareware program called zcopy that did this but I can't find it anywhere. TIA!
 

Shadow Lord

Veteran Member
Joined
Jun 16, 2010
Messages
3,155
Location
California
Not used it myself but had a look and found This zcopy 35 Freeware ?

Not the right ZCopy. That one does not have a progress bar. Honestly, don't care about the program as long as it is command line (need it for batch files) and has a progress bar. Thanks!
 

Ole Juul

Veteran Member
Joined
Aug 15, 2008
Messages
3,982
Location
Coalmont, BC, Canada
Holy mackerel, how slow is that system? Or conversely, how large are those files? Rarely does DOS take very long to transfer files. Seriously, I'm with you as far as prettying up batch files is concerned, but I haven't seen that copy program. The closest to a progress bar that I've seen is the LHA (file compression) one which is quite nice.
 

Shadow Lord

Veteran Member
Joined
Jun 16, 2010
Messages
3,155
Location
California
Files are 100s of MB to multiple GB (not just one file obviously) I actually don't need to copy them multiple times. Once they get copied over it would be done. But like you say it would be nice to have such a util for batch files.
 

Ole Juul

Veteran Member
Joined
Aug 15, 2008
Messages
3,982
Location
Coalmont, BC, Canada
But like you say it would be nice to have such a util for batch files.

Maybe somebody will write us one! I fear though, that having the function external to a program would cause problems in what is basically a single tasking OS. It would have to be running at the same time as the copy (or whatever) program was running.
 

Chuck(G)

25k Member
Joined
Jan 11, 2007
Messages
39,110
Location
Pacific Northwest, USA
Have you been through the (endless) Simtel collection? It must be there somewhere.

On a 8088-equipped box, I'm sometimes reminded of how long it took to create a Zip archive of a large file.
 

Shadow Lord

Veteran Member
Joined
Jun 16, 2010
Messages
3,155
Location
California
Have you been through the (endless) Simtel collection? It must be there somewhere.

On a 8088-equipped box, I'm sometimes reminded of how long it took to create a Zip archive of a large file.

The only thing I found on simtel.net is a program I already have: bP Copy. bP Copy does produce a progress bar but it is per file not for the complete copy job. Also it lacks many advanced options like subdirectory copying. The author does have a number of very cool/useful DOS utilities so I highly recommend checking out his site.
 
Last edited:

Shadow Lord

Veteran Member
Joined
Jun 16, 2010
Messages
3,155
Location
California
Not used it myself but had a look and found This zcopy 35 Freeware ?

:oops: Okay - feeling somewhat sheepish here right about now. I downloaded ZCopy to give it whirl even though there is no mention of it doing progress bar and it turns out it is the ZCopy I remember down to the cyan progress bars. However, I did remember wrong as far as capabilities: ZCopy like bP Copy provides per file progress bars. I guess it may just be to resource intensive to do this under DOS (i.e. gather all file sizes ahead of time before starting the copy process).

:stupid:

I am still looking for a util that will do this. I know the later versions of XXCopy do this by opening a Window in a Windows environment. No idea if the old XXCopy 16bit had the capability though.
 

RickNel

Veteran Member
Joined
Apr 24, 2009
Messages
640
Location
Canberra, Australia
Very few DOS programs were written to handle very large files or extensive directories, because other factors of the period kept files small and storage units limited. There might be some proprietary backup utilities that had some form of progress monitor, but I have only seen them displaying file count in a batch job.

To monitor progress within a file copy operation, you would need to update the progress bar at defined intervals such as per write, per buffer, or per multiples of those. It could be done even in in Basic, or using system calls, but even a compiled COM file would IMHO at least double the instruction load of the copy operation. More complex if you wanted a single progress bar to monitor a big batch copy operation. Maybe not an issue on a fast modern platform running DOS, but could be a pain on a vintage machine. Any interesting challenge though, if somebody has the time...

Rick
 

Shadow Lord

Veteran Member
Joined
Jun 16, 2010
Messages
3,155
Location
California
Okay, I am talking straight out of my back side here as I have no serious programming experience but it seems to me implementing this feature shouldn't be to hard. A simple progress bar could just track files. I.E. at the execution of the copy command the program would "count" the number of files to be copied. Once you know the number of files then you can assign each file a percentage of the whole (e.g. 100 files to copy would mean each file is 1%). After each files is copied you would then update the progress bar. Of course this is not very accurate as it doesn't account for different file sizes so maybe one could base the bar on total bytes to be copied?

Aside from the initial slow down at execution there shouldn't be much overhead. The bar could even be turned on/off w/ a command line switch so as to get a quicker start to the copying routine.
 

Ole Juul

Veteran Member
Joined
Aug 15, 2008
Messages
3,982
Location
Coalmont, BC, Canada
at the execution of the copy command the program would "count" the number of files to be copied. Once you know the number of files then you can assign each file a percentage of the whole (e.g. 100 files to copy would mean each file is 1%).

How would this look in a typical batch file. For example one line might read "call cp -ct *.txt d:\txt", and another might read "call cp -ct *.bak d:\bak". The bar program would need to recognize the copy program and it's argument and switches. In fact in the case of cp, there are switches like "-m" for multiple copies, and "-v" for verify, which would have to be known to calculate progress. I can't quite imagine what the command would look like that I could use if the bar program was standalone.
 

Shadow Lord

Veteran Member
Joined
Jun 16, 2010
Messages
3,155
Location
California
How would this look in a typical batch file. For example one line might read "call cp -ct *.txt d:\txt", and another might read "call cp -ct *.bak d:\bak". The bar program would need to recognize the copy program and it's argument and switches. In fact in the case of cp, there are switches like "-m" for multiple copies, and "-v" for verify, which would have to be known to calculate progress. I can't quite imagine what the command would look like that I could use if the bar program was standalone.

The bar program would not be standalone. It would be a part of the copy program and it would be limited to the instance running. I.E. you would get one bar for the first line in your batch file. The copy process would finish and then you would get a second bar for the second set of files you are copying. I am not proposing, nor looking for, a program to give me a progress bar on when a batch file is done.
 

Agent Orange

Veteran Member
Joined
Sep 24, 2008
Messages
6,109
Location
SE MI
How would this look in a typical batch file. For example one line might read "call cp -ct *.txt d:\txt", and another might read "call cp -ct *.bak d:\bak". The bar program would need to recognize the copy program and it's argument and switches. In fact in the case of cp, there are switches like "-m" for multiple copies, and "-v" for verify, which would have to be known to calculate progress. I can't quite imagine what the command would look like that I could use if the bar program was standalone.

Ole: Its been a long time since I dabbled with it, but QBASIC comes to mind. How about a small program to call 'copy' or 'xcopy' and a 'DO/WHILE' loop which increments ASCII character " █ ", or whatever, across the screen? Then compile it. Might be a nice winter project. :confused:
 

barythrin

Veteran Member
Joined
Oct 5, 2005
Messages
6,256
Location
Texas
Nobody seems to have asked this yet but what version of dos are you running? I never liked it but if it's 6.2 or newer you could use dosshell which probably does something like that. I'm not sure that xcopy back then (xcopy /? would output the help/options) did anything like that. nc (Norton Commander/Midnight Commander) might do that as well but it's a text gui program.
 

Ole Juul

Veteran Member
Joined
Aug 15, 2008
Messages
3,982
Location
Coalmont, BC, Canada
The bar program would not be standalone. It would be a part of the copy program and it would be limited to the instance running.

Gotcha. That makes sense. I was confused by you saying earlier that you "need it for batch files".

Agent Orange said:
Ole: Its been a long time since I dabbled with it, but QBASIC comes to mind. How about a small program to call 'copy' or 'xcopy' and a 'DO/WHILE' loop which increments ASCII character " █ ", or whatever, across the screen? Then compile it. Might be a nice winter project.

That sounds like the right kind of thing to my mind. Anyway, I'm not the one that wants it, it's Shadow Lord. :)

barythrin said:
Nobody seems to have asked this yet but what version of dos are you running? I never liked it but if it's 6.2 or newer you could use dosshell which probably does something like that. I'm not sure that xcopy back then (xcopy /? would output the help/options) did anything like that. nc (Norton Commander/Midnight Commander) might do that as well but it's a text gui program.

Perhaps I'm wrong, but I don't think those options could be put in a batch file.
 

barythrin

Veteran Member
Joined
Oct 5, 2005
Messages
6,256
Location
Texas
Right, it wouldn't be a batchable process necessarily but I was trying to still figure out one that had the function built in. However I'm not sure how many in that day would have a total time estimate. I remember copying something but I think it was via interlnk/intersvr and I recall seeing a total time when I was backing up someones system back in the day but I don't really remember if that was in the software or if I just guesstimated or what.
 

Ole Juul

Veteran Member
Joined
Aug 15, 2008
Messages
3,982
Location
Coalmont, BC, Canada
I guess a progress "bar" or indication could take different forms. PKZIP has a nice running percentage which is clear and functional. LHA has an actual ascii progress bar which also looks very nice. In fact you could probably use LHA to just copy files, though I haven't tried it. Anyway, it looks like a progress report could easily be incorporated into a copy utlity.
 
Top