Microsoft DOS




Articles & Videos



Microsoft Disk Operating System (MS-DOS) was an operating system for x86-based personal computers, and traces of it are still found in the Windows operating system. DOS is still used in some embedded systems and for certain legacy 16-bit networks.

Share tech news, updates, or what's on your mind.

Sign up to Post

The original filename is "test.txt".
The requirement is to append the date + Timestamp (format yyyymmdd_hhmmssmsi.txt) at the point the file "test.txt" is generated.

yyyy - year
mm - month
dd - day
ss - second
msi - milli-second
Announcing the Most Valuable Experts of 2016
Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Hello Experts,
I am staying at a hotel for a month (work travel)
My laptop is connected to the local wifi.

I need to map a local folder in my laptop as m:
since many applications i have need to use that mapping in order to work

Now not being an expert, first I erased all sharings from COMPMGMT.MSC
fearing someone in the hotel may access my laptop....

then I shared the local folder and added a local user with full rights to the shared and security properpties...
But no I cannot access the folder when i go through NETWORK in win explorer..
and cannt either map the folder although i can see the folder name under its computer in the network...

What can I do so i can map this local folder and havng only my laptop access it ?

PD working with win10, toshiba laptop core i5
I don't have xcopy for Windows 2000.

I want to write a super simple DOS bat file to do this daily:
1) Copy all files in C:/SourceDirectory and in C:/SourceDirectory2 to D:/DestinationDirectory that are created or modified after and including June 1, 2017.
2) Create a copy of  D:/DestinationDirectory and rename it as DestinationDirectory_MMDDYY where MMDDYY is the current month, day and year.

How do I do this?
No comments, but we're still running WordStar v.7 as our main word processor. We operate the 32-bit version of Windows 10, and we physically print letters from WordStar via a PCL driver (mapped to shared Windows printers). This works fine with all of our printers except one - our Canon iR4570 copier.

Our main copier has just gone to the wall, so we're down to only one LaserJet that can carry out this function. Obviously I want a bit more redudency than this.

We run Wordstar as a legacy app through the ntvdm.exe process we've installed with Windows 10 32-bit. If I send a print job via PCL to the iR4570 it generally never prints anything, and the touch-screen concole becomes unusable. It is like it is running a corrupt process that is consuming all memory and/or CPU cycles . The only way to recover is to physically switch the iR4570 off.

On very rare occasions, it does start printing, but just junk text comes out - either filing the page, or just a couple of letters at the top of each page. It'll print until the trays are empty.

If I print to the iR4570 via PostScript from Wordstar, it is absolutely fine. HOWEVER, PostScript fonts are slightly bolder, and it doesn't look quite right for our requirements.

The iR4570 has a pretty much identical firmware to our other copier that went to wall, and which handled this all fine with PCL printing, day in day out, until it's demise. I'm hopeful there is something just not right in the settings I can flush out - but before…
I use Ola Hallengren's maintenance for all of my customer's,
Have used it for years, never any real problems -- until now.  For some reason the @CleanupMode and @CleanupTime are not working. The backup step is configured to retain bak files for only 24hrs, and to cleanup the old bak before generating the new.  For some reason, it is not working, and the job keeps failing due to insufficient disk space.

My temporary workaround is below.  I am deleting the largest bak file from disk as a first step in the job, until I get Ola's logic corrected.  Well, it works great as-is, but I've found I need to run it for all subdirectories.

The way it works now is to del the bak file in this path explicitly:
SET @path = 'dir \\backups\servername\dbname\FULL\'

I need it to delete the bak files from all subdirectories within \\backups\servername\

Any help?


IF OBJECT_ID('tempdb..#files') IS NOT NULL
DROP TABLE #files;
CREATE TABLE #files (Line VARCHAR(512)) 
DECLARE @filename VARCHAR(255)
SET @path = 'dir \\backups\servername\dbname\FULL\'
SET @cmd1 =  @Path+' /A-D  /B' 
--PRINT @cmd1

INSERT #files
EXEC master..xp_cmdshell @cmd1
--SELECT * FROM #files

SET @filename = (SELECT Line FROM #files)
SET @cmd2 = 'del \\backups\servername\dbname\FULL\' + @FileName
--PRINT @cmd2


Open in new window

Hi Experts,

I am trying to figure out why when I create a new ADP and set the connections properties to my server (SQL 2008) then it goes fine, however if I take my old ADP and try to modify the connection to use the new server I get the attached error.

BTW, I had someone looking into this today and he was using netstat - na find "XXXX" to see where is that trying to connect to, wondering how do I use that command?

Thanks in advance.
is there a DOS command to run to get list of all NT group that contain a certain word like 'sql', 'Reporting' etc.
Is there a command to close out of a remote ms DOS connection that was obtained via an exploit?
I tried EXIT and it doesn't do anything.  Control+Z just asks if I want to background the connection.  This is NOT a meterpreter connection.
Amazon Music, for reasons only know to them, downloads the following file

          Mason Williams - Change the World.MP3

renaming the files during download as follows:

          01-02- Change the World.MP3

I know restoring the artist's name is going to be difficult, but how do I batch rename...

          01-02- Change the World.MP3     to     Change the World.MP3
          01-04- Hello, Goodbye.MP3          to     Hello, Goodbye.MP3
          02-02- Ticket to Ride.MP3             to      Ticket to Ride.MP3

In other words, stripping the 0?-0?-   from the front-end of the filename.

I have tried several iterations of REN such as REN  "0?-0?-*.MP3"  "*.MP3",  but nothing I do seems to work. Suggestions?
Thanks to the way Amazon Music downloads MP3s, I have 704 files in 592 directories. I want to copy all of the files into a single directory. I tried a utility called XXCOPY. All the files copied to one directory but in doing so all of the filenames were modified to contain the directory structure. Poor solution. Anyone have another idea?
On Demand Webinar: Networking for the Cloud Era
On Demand Webinar: Networking for the Cloud Era

Ready to improve network connectivity? Watch this webinar to learn how SD-WANs and a one-click instant connect tool can boost provisions, deployment, and management of your cloud connection.

We have a dos computer with ages old accounting software that is absolutely crucial to this day in our company. We use dbase and compile the .prg text files into executable programs. is there a way to write and compile dbase programs under linux. if so what's the best way to go about it. I saw something called flagship and harbor but i'm not sure if this will do the trick. Has anyone ever come up with a solution to compile dbase prg txt file under linux? Any help or more explanation would be greatly appreciated. Thank you!
when it displays "Global Group memberships", it it is long, then it is only partially seen. is there a way you break it down to many single line step output?
Please give me one help
   How to send email by blat as per script below?

@echo off
setlocal EnableDelayedExpansion

rem Set destination folders for each weekday, Sunday = 1
set Dest[1]=BKP1-DOM
set Dest[2]=BKP2-SEG
set Dest[3]=BKP3-TER
set Dest[4]=BKP4-QUA
set Dest[5]=BKP5-QUI
set Dest[6]=BKP6-SEX
set Dest[7]=BKP7-SAB

REM Get day of week number, Sunday = 1
for /f "skip=2 tokens=2 delims=," %%a in ('WMIC Path Win32_LocalTime Get DayOfWeek /Format:csv') do set /a DowNum=%%a + 1

rem Set todays destination folder
set DestDir=!Dest[%DowNum%]!

rem Copy todays files to their destination folder
set HadErrors=N
    XCOPY C:\BNET_CIT\ATI\*.*                       C:\BNET_BACKUP\%DestDir%\ATI\   /S /Y  || (set HadErrors=Y)
    XCOPY C:\BNET_CIT\CIA\*.*                       C:\BNET_BACKUP\%DestDir%\CIA\   /S /Y  || (set HadErrors=Y)

rem Check for any errors during copies and send email
if "%HadErrors%" EQU "Y" (
  rem Send email indicating failure here

  REM * Uses blat.exe and body.txt as body of message:
     set dir=C:\BNET_BACKUP\1_Blat_SendMail_v3217\full
     set hostname=servername
     set subject="* O Backup Falhou. Verifique o erro e tome as devidas providencias."
     set receipt=NO

) else (
  rem Send email indicating success here

  REM * Uses blat.exe and body.txt as body of message:
     set dir=C:\BNET_BACKUP\1_Blat_SendMail_v3217\full
     set hostname=servername
     set subject="* O Backup foi executado 

Open in new window

We have an old accounting program that wants to write to a dot matrix printer and was setup to use LPT1 via a command:

net user lpt1 \\computer\printer

I want the output to go to a pdf how is this possible? Alternatively to a file
I'd like to be able to run a weekly script on my domain workstations (Windows 7 and windows 10) that will populate a CSV log with username, computername and last successful windows update.

What I currently have is this:
SET filename="C:\Windows\System32\catroot2\dberr.txt"
FOR %%f IN (%filename%) DO SET filedatetime=%%~tf
echo %username%,%computername%,%filedatetime%>>....hotfixes.CSV

This kinda works, but doesn't tell me an update failed. Or if updates were downloaded but not installed.

Is there a better way to achieve what I'm looking for?
Suppose  file a.bat is calling b.bat.  If there is any error in running any command line in b.bat, is it possible for this error be caught in bat.b

In file a.bat, the following lines have been added but it doesn't help.

   IF '%ERRORLEVEL%'=='0' (
       echo Success! >> C:\Scripts\%yyyymmdd%\Patch.log
   ) else (
       echo Fail ! >> C:\Scripts\%yyyymmdd%\Patch.log

I need to run a windows task scheduler job using a specific domain user account.  What user rights does it require ?


I need to run cmd as administrator so the command prompt states that it is in administrator mode.  What is dos command to enable this, rather than enabling it through the GUI ?

I know the DOS command to copy a file from one folder to another in the Windows file system.  But what I need to do is have that copy process executed automatically as soon as a file is dropped into the first folder.  How can that be done?
Enroll in June's Course of the Month
Enroll in June's Course of the Month

June's Course of the Month is now available! Every 10 seconds, a consumer gets hit with ransomware. Refresh your knowledge of ransomware best practices by enrolling in this month's complimentary course for Premium Members, Team Accounts, and Qualified Experts.

I need to set a variable based on two conditions.  If either of the conditions are true then set the variable one way, if neither are true then set the variable another way.

Basically I'm playing with changing the 'theday' and the 'DATE_dow' variables and running.  However it's not working.  The logic is:

If %theday% LEQ 12 OR %DATE_dow% then excludeDirsDistr=Distr,Distrstg,DistrDEC,
else if neither of those are true then excludeDirsDistr=

I'm obviously not nesting this correctly or the logic above I can't accomplish like this.  Played with all kinds of combinations and not working.  Trying to avoid many 'IF' lines in order if possible...

set theday=11
set DATE_dow=Thu
set excludeDirsDistr=Distr,Distrstg,DistrDEC,
if not %theday% LEQ 12 if not %DATE_dow%==Wed set excludeDirsDistr=

Open in new window


I have a script that I am using to delete old files off of the system by modified date.  Is there a wild card that can be used in the folder path?

for /d %%D in ("C:\test\test\*.*\files") do forfiles /p %%D -s -m *.txt -d -5 -c "cmd /C del @File"

Open in new window

If I run this on a specific directory it works fine.  I need it to run for all files directories under that path. I tried * and *.* but it did not work.

Thank you

I would like a DOS batch script that checks the status of a running task, however if the task is running more than 10mins to complete, the task should stop running and report that the task has been running more than 10mins
amongst all the daily activities I have, there 2 that really takes a lot of time because I have to do it manually :(

Case 1:
I have 1 executable file, "myApp.exe" that needs to be copied  (and overwrite existing one) to a second server:
from \\SERVER1\anyFolder\myApp.exe to \\SERVER2\anyFolder\myApp.exe
I am trying to do it automatically via CMD script using "runas" command but it is not working transparently because it ask me for password, eache time It connects to a different server (14th servers).

"run.bat" file runs:
runas /netonly /user:AMERICAS\myUserName RemoteServer01.bat

"RemoteServer01.bat" file runs:
Copy \\RemoteServer01.americas.local\e$\Tools\RMTool\RMTool.exe \\RemoteServer02.americas.local\e$\Tools\RMTool\RMTool.exe  /B /Z /Y

Open in new window

Case 2:
This one is done via RDP but I would like to do it via cmd if possible:
First step, connect to \\SERVER1\d$\ProductFolder
Second step, using Windows  "Right click / Compress to zipped folder" compress to zip "ProductFolder"
Third, rename resulting zip file adding (manually) current date as a prefix, example of resulting file: ""
Fourth step, Move the resulting zip file to \\SERVER1\e$\Backup folder

Thanks a lot!
When the windows schedule task is executed it may end with an error code i.e. the "Last Result" may report a error result status other than 0, which would mean that the schedule task has failed, as it has not completed successfully with a result status code of 0

If I run the command:-

schtasks.exe /query /fo list /v /TN Burst_Triggerbatch | find "Last Result" this will produce something like the following:-

Last Result:                             -2147024895

So, ideally what should happen is,  this script will run overnight and check the status of the Last Result section and return the value to a output txt file if the value does not equal to 0.  This will indicate that the windows schedule task failed because the "Last Result" status was not 0

Is this achievable, or suggest any ideas ?

Hey Experts.  I have two directories (A and B).  Almost all of the 200 files that are in A and B are the same except for maybe 10 or 20.  The 10 or 20 files have a different size and modified date.  I just want to run a script that compares the two directories and if file a in dir A and B differ, it's logged.  This is unfortunately outside my feeble abilities but I'm sure there is a scripting master that can do it (in batch, preferred).

Thank you in advance!

Microsoft DOS




Articles & Videos



Microsoft Disk Operating System (MS-DOS) was an operating system for x86-based personal computers, and traces of it are still found in the Windows operating system. DOS is still used in some embedded systems and for certain legacy 16-bit networks.