Jump to content

Cd Path


Recommended Posts

Hi,

i have a problem with my BAT files i can´t get the Driveletter of my CD-Rom

on PC´s with D: as CD-Rom it works, but if the cd is E: my computer dosn´t find the installation files. How can i get the variable of my cd and set it for all the other batfiles :)

.::Example::.

@echo off

set cdrom=d:

ECHO Terminal Server Client

ECHO Please wait...

start /wait %cdrom%\bonus\office\Terminal\Terminal.msi /q

exit

:rolleyes:

vito

Link to comment
Share on other sites


Here is an exapmle of how to tell it to find the CD-ROM drive

ECHO ESTABLISHING CD-ROM DRIVE
SET CDROM=A
IF EXIST D:\I386\WINNT.exe SET CDROM=D:
IF EXIST E:\I386\WINNT.exe SET CDROM=E:
IF EXIST F:\I386\WINNT.exe SET CDROM=F:
IF EXIST G:\I386\WINNT.exe SET CDROM=G:
IF EXIST H:\I386\WINNT.exe SET CDROM=H:
IF EXIST I:\I386\WINNT.exe SET CDROM=I:
IF EXIST J:\I386\WINNT.exe SET CDROM=J:
IF EXIST K:\I386\WINNT.exe SET CDROM=K:
IF EXIST L:\I386\WINNT.exe SET CDROM=L:
IF EXIST M:\I386\WINNT.exe SET CDROM=M:
IF EXIST N:\I386\WINNT.exe SET CDROM=N:
IF EXIST O:\I386\WINNT.exe SET CDROM=O:
IF EXIST P:\I386\WINNT.exe SET CDROM=P:
IF EXIST Q:\I386\WINNT.exe SET CDROM=Q:
IF EXIST R:\I386\WINNT.exe SET CDROM=R:
IF EXIST S:\I386\WINNT.exe SET CDROM=S:
IF EXIST T:\I386\WINNT.exe SET CDROM=T:
IF EXIST U:\I386\WINNT.exe SET CDROM=U:
IF EXIST V:\I386\WINNT.exe SET CDROM=V:
IF EXIST W:\I386\WINNT.exe SET CDROM=W:
IF EXIST X:\I386\WINNT.exe SET CDROM=X:
IF EXIST Y:\I386\WINNT.exe SET CDROM=Y:
IF EXIST Z:\I386\WINNT.exe SET CDROM=Z:
if %CDROM%==A GOTO :CD_ERR
ECHO YOUR CD-ROM DRIVE IS %CDROM%
ECHO Please Wait...
XCOPY %CDROM% DIRTOCOYTO /Q /E /H

this is found your cd-rom drive and copy it to were you want it but you need to change the DIRTOCOYTO to the location you need. This is an example of it copying all the Windows File to my HDD

Link to comment
Share on other sites

CLS
@echo off
ECHO.
ECHO ESTABLISHING CD-ROM DRIVE
SET CDROM=A
IF EXIST D:\bonus\office\Terminal\Terminal.msi CDROM=D:
ECHO YOUR CD-ROM DRIVE IS %CDROM%
ECHO Please Wait....
ECHO Terminal Server Client
ECHO Please Wait....
start /wait %CDROM%\bonus\office\Terminal\Terminal.msi /q
EXIT

to make it so that it would work for every PC or if the drive letter changes add the rest of the IF EXIST in my first example.

Link to comment
Share on other sites

Hi is this the only way?

@echo off
ECHO ESTABLISHING CD-ROM DRIVE
SET CDROM=A
IF EXIST D:\DISKEMU.CMD SET CDROM=D:
IF EXIST E:\DISKEMU.CMD SET CDROM=E:
IF EXIST F:\DISKEMU.CMD SET CDROM=F:
IF EXIST G:\DISKEMU.CMD SET CDROM=G:
IF EXIST H:\DISKEMU.CMD SET CDROM=H:
IF EXIST I:\DISKEMU.CMD SET CDROM=I:
IF EXIST J:\DISKEMU.CMD SET CDROM=J:
IF EXIST K:\DISKEMU.CMD SET CDROM=K:
IF EXIST L:\DISKEMU.CMD SET CDROM=L:
IF EXIST M:\DISKEMU.CMD SET CDROM=M:
IF EXIST N:\DISKEMU.CMD SET CDROM=N:
IF EXIST O:\DISKEMU.CMD SET CDROM=O:
IF EXIST P:\DISKEMU.CMD SET CDROM=P:
IF EXIST Q:\DISKEMU.CMD SET CDROM=Q:
IF EXIST R:\DISKEMU.CMD SET CDROM=R:
IF EXIST S:\DISKEMU.CMD SET CDROM=S:
IF EXIST T:\DISKEMU.CMD SET CDROM=T:
IF EXIST U:\DISKEMU.CMD SET CDROM=U:
IF EXIST V:\DISKEMU.CMD SET CDROM=V:
IF EXIST W:\DISKEMU.CMD SET CDROM=W:
IF EXIST X:\DISKEMU.CMD SET CDROM=X:
IF EXIST Y:\DISKEMU.CMD SET CDROM=Y:
IF EXIST Z:\DISKEMU.CMD SET CDROM=Z:
ECHO Terminal Server Client
ECHO Please Wait....
start /wait %CDROM%\bonus\office\Terminal\Terminal.msi /q

in the second batfile

@echo off
ECHO ESTABLISHING CD-ROM DRIVE
SET CDROM=A
IF EXIST D:\DISKEMU.CMD SET CDROM=D:
IF EXIST E:\DISKEMU.CMD SET CDROM=E:
IF EXIST F:\DISKEMU.CMD SET CDROM=F:
IF EXIST G:\DISKEMU.CMD SET CDROM=G:
IF EXIST H:\DISKEMU.CMD SET CDROM=H:
IF EXIST I:\DISKEMU.CMD SET CDROM=I:
IF EXIST J:\DISKEMU.CMD SET CDROM=J:
IF EXIST K:\DISKEMU.CMD SET CDROM=K:
IF EXIST L:\DISKEMU.CMD SET CDROM=L:
IF EXIST M:\DISKEMU.CMD SET CDROM=M:
IF EXIST N:\DISKEMU.CMD SET CDROM=N:
IF EXIST O:\DISKEMU.CMD SET CDROM=O:
IF EXIST P:\DISKEMU.CMD SET CDROM=P:
IF EXIST Q:\DISKEMU.CMD SET CDROM=Q:
IF EXIST R:\DISKEMU.CMD SET CDROM=R:
IF EXIST S:\DISKEMU.CMD SET CDROM=S:
IF EXIST T:\DISKEMU.CMD SET CDROM=T:
IF EXIST U:\DISKEMU.CMD SET CDROM=U:
IF EXIST V:\DISKEMU.CMD SET CDROM=V:
IF EXIST W:\DISKEMU.CMD SET CDROM=W:
IF EXIST X:\DISKEMU.CMD SET CDROM=X:
IF EXIST Y:\DISKEMU.CMD SET CDROM=Y:
IF EXIST Z:\DISKEMU.CMD SET CDROM=Z:
ECHO Metaframe Client
ECHO Please Wait....
start /wait %CDROM%\bonus\office\Citrix\Metaframe.msi /q

and if i have 20 more batfiles. Can´t i make like "cdrom=get cdpath from c:\cdpath.txt"

In this textfile only stands d:

@echo off
ECHO Metaframe Client
ECHO Please Wait....
start /wait %CDROM%\bonus\office\Citrix\Metaframe.msi /q

:):rolleyes::D:D

vito

Link to comment
Share on other sites

thanks i have a good solution in the resource kit

:D

COLOR 9F
TITLE .:: CD Path ::.
MODE CON COLS=80 LINES=4
CLS
@ECHO OFF
IF EXIST C:\DISKEM1X.BIN set CDROM=C:
IF EXIST D:\DISKEM1X.BIN set CDROM=D:
IF EXIST E:\DISKEM1X.BIN set CDROM=E:
IF EXIST F:\DISKEM1X.BIN set CDROM=F:
IF EXIST G:\DISKEM1X.BIN set CDROM=G:
IF EXIST H:\DISKEM1X.BIN set CDROM=H:
IF EXIST I:\DISKEM1X.BIN set CDROM=I:
IF EXIST J:\DISKEM1X.BIN set CDROM=J:
IF EXIST K:\DISKEM1X.BIN set CDROM=K:
IF EXIST L:\DISKEM1X.BIN set CDROM=L:
IF EXIST M:\DISKEM1X.BIN set CDROM=M:
IF EXIST N:\DISKEM1X.BIN set CDROM=N:
IF EXIST O:\DISKEM1X.BIN set CDROM=O:
IF EXIST P:\DISKEM1X.BIN set CDROM=P:
IF EXIST Q:\DISKEM1X.BIN set CDROM=Q:
IF EXIST R:\DISKEM1X.BIN set CDROM=R:
IF EXIST S:\DISKEM1X.BIN set CDROM=S:
IF EXIST T:\DISKEM1X.BIN set CDROM=T:
IF EXIST U:\DISKEM1X.BIN set CDROM=U:
IF EXIST V:\DISKEM1X.BIN set CDROM=V:
IF EXIST W:\DISKEM1X.BIN set CDROM=W:
IF EXIST X:\DISKEM1X.BIN set CDROM=X:
IF EXIST Y:\DISKEM1X.BIN set CDROM=Y:
IF EXIST Z:\DISKEM1X.BIN set CDROM=Z:
echo Your CD-Rom is ( %cdrom% )
setx.exe cdrom %cdrom% -m
exit

it sets a sysvarb. %CDROM% for windows and all progs and Batfiles can get it

:) vito :rolleyes:

Link to comment
Share on other sites

There's another method: simply set the drive letter of your CD-ROM to a fixed value. The mount manager is responsible for the driver-letter assignment. Load the hive "setupreg.hiv" and add the mount points for the mount manager (subkey "MountedDevices").

I'll post a more detailed description in a separate thread ...

Link to comment
Share on other sites

DPR: such a method would not be optimal for someone who has more than one PC. [...]

That's of course correct ! The mentioned method is intended to be used for a specific home PC. It shouldn't be used for unattended corporate-setups ...

Link to comment
Share on other sites

By the way: here's my method to get the setup drive ...

for /F "tokens=1-3*" %%i in ('reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Setup /v SourcePath ^| findstr /r "REG_SZ"') do set result=%%k

set %SETUPDRV%=%result%

Link to comment
Share on other sites

There was a file called findcd.exe that I saw included in a bootdisk once. Running it set's the %cdrom% variable to your cdrom drive. You could include it in your $OEM$\$1\install directory. Then, it will get copied to your C:\install folder during guisetup. From there, just have your batch file run %systemdrive%\install\findcd.exe to set the %cdrom% variable.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...