Windows 7 Batch File: works under cmd-Windows , NOT under MS-DOS

I made these codes to backup files :

set p=C:\Users\
for/f %%a in('dir C:\Users\ /b') do (
if not"%%a"=="Public", (
set fileDest=C:\Backup-%%a_%date:~7,2%.%date:~4,2%.%date:~10,4%
If Not Exist"%fileDest%" mkdir "%fileDest%"set"fullPath=%p%%%a%"
xcopy "%fullPath%"%fileDest%/e /h /y /k
rem call blah.bat

When I test it under cmd of Windows 7 , it works great!!

When I try it under MS-DOS(VirtualBOX) it does not

It gives me these errors :

Version of MS-DOS used under VirtualBox is 6.22

any suggestion ?

Last edited:


Windows Forum Admin
Staff member
Premium Supporter
I don't think 6.22's IF and FOR are as robust..

CMD is in no way the same as DOS.... CMD allows the use of system tools as DOS is the system, and unable to perform complex functions.

This website is not affiliated, owned, or endorsed by Microsoft Corporation. It is a member of the Microsoft Partner Program.