Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 582
  • Last Modified:

Find out OS version in batch file...

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
CCG3
Asked:
CCG3
1 Solution
 
motnahp00Commented:
winver will provide you the OS version installed.
0
 
stavros41Commented:
Just check for the existance of C:\users or C:\Documents and Settings
0
 
AnuroopsunddCommented:
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
 
oBdACommented:
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
 
CCG3Author Commented:
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

NFR key for Veeam Backup for Microsoft Office 365

Veeam is happy to provide a free NFR license (for 1 year, up to 10 users). This license allows for the non‑production use of Veeam Backup for Microsoft Office 365 in your home lab without any feature limitations.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now