Solved

Find out OS version in batch file...

Posted on 2012-04-13
5
572 Views
Last Modified: 2012-04-13
Hello everyone, I need to create a batch file that will copy (from a location on C) and replace a single file. However the problem I have is that based on the OS the user is running the file could be in a different location on the hard drive (XP vs Win 7).

Can some tell me how I would check to see what OS they are running in a batch file and then based on that OS go to the correct folder location?

File location:
XP: C:\Documents and Settings\Username\Application Data\Meeting Center\Invitation Cache

Win 7: C:\Users\Username\App Data\Roaming\Meeting Center\ Invitation Cache

Thanks in advance for your help!!
0
Comment
Question by:CCG3
5 Comments
 
LVL 21

Expert Comment

by:motnahp00
ID: 37842732
winver will provide you the OS version installed.
0
 
LVL 6

Expert Comment

by:stavros41
ID: 37842744
Just check for the existance of C:\users or C:\Documents and Settings
0
 
LVL 17

Expert Comment

by:Anuroopsundd
ID: 37842789
REM Check Windows Version
ver | findstr /i "5\.0\." > nul
IF %ERRORLEVEL% EQU 0 goto ver_2000
ver | findstr /i "5\.1\." > nul
IF %ERRORLEVEL% EQU 0 goto ver_XP
ver | findstr /i "5\.2\." > nul
IF %ERRORLEVEL% EQU 0 goto ver_2003
ver | findstr /i "6\.0\." > nul
IF %ERRORLEVEL% EQU 0 goto ver_Vista
ver | findstr /i "6\.1\." > nul
IF %ERRORLEVEL% EQU 0 goto ver_Win7
goto warn_and_exit

:ver_Win7
:Run Windows 7 specific commands here
REM echo OS Version: Windows 7 (debug line)
goto end

:ver_Vista
:Run Windows Vista specific commands here
REM echo OS Version: Windows Vista (debug line)
goto end

:ver_2003
:Run Windows Server 2003 specific commands here
REM echo OS Version: Windows Server 2003 (debug line)
goto end

:ver_XP
:Run Windows XP specific commands here
REM echo OS Version: Windows XP (debug line)
goto end

:ver_2000
:Run Windows 2000 specific commands here
REM echo OS Version: Windows 2000 (debug line)
goto end

:warn_and_exit
echo Machine OS cannot be determined.

:end  




http://www.grimadmin.com/article.php/batchfile-easy-way-to-detect-os-version
0
 
LVL 83

Accepted Solution

by:
oBdA earned 500 total points
ID: 37842800
There's no need at all to check the OS for this; just use the environment variable "APPDATA", which will point to the correct location on every OS since W2k (enter "set appdata" in a command prompt to check).
copy "C:\SomeFolder\whatever.txt" "%APPDATA%\Meeting Center\ Invitation Cache"

Open in new window

Never use a hardcoded "C:\documents and settings\%username%"; always use the environment variable like %USERPROFILE% or, in this case, %APPDATA%.
0
 

Author Comment

by:CCG3
ID: 37843220
Thank you all. I think oBdA is right on target. I just need to set this up and test it on a few machines. I will let you know how it goes. Thanks again everyone!
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

When you start your Windows 10 PC and got an "Operating system not found" error or just saw  "Auto repair for startup" or a blinking cursor with black screen. A loop for Auto repair will start but fix nothing.  You will be panic as there are no back…
When you see single cell contains number and text, and you have to get any date out of it seems like cracking our heads.
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
This video Micro Tutorial explains how to clone a hard drive using a commercial software product for Windows systems called Casper from Future Systems Solutions (FSS). Cloning makes an exact, complete copy of one hard disk drive (HDD) onto another d…

813 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now