Solved

Find out OS version in batch file...

Posted on 2012-04-13
5
575 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 84

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

Create the perfect environment for any meeting

You might have a modern environment with all sorts of high-tech equipment, but what makes it worthwhile is how you seamlessly bring together the presentation with audio, video and lighting. The ATEN Control System provides integrated control and system automation.

Question has a verified solution.

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

If you get continual lockouts after changing your Active Directory password, there are several possible reasons.  Two of the most common are using other devices to access your email and stored passwords in the credential manager of windows.
When you try to extract and to view the contents of a Microsoft Update Standalone Package (MSU) for Windows Vista, you cannot extract the files from the MSU. Here we are going to explain how to extract those hotfix details without using any third pa…
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…
The Task Scheduler is a powerful tool that is built into Windows. It allows you to schedule tasks (actions) on a recurring basis, such as hourly, daily, weekly, monthly, at log on, at startup, on idle, etc. This video Micro Tutorial is a brief intro…

730 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