wanako1 Posted February 2, 2019 Posted February 2, 2019 (edited) Hello Everyone.... I have been out in this area for a while (anyways I know almost nothing about it) I need some Help (hope anyone can give me a hand!) I want to make a USB with Autorun (2 Partitions) - fist partition as UDF (where I need the Autorun.ini) and a start.cmd or start.bat (or something better that you can help me with) Will work as a CD Drive - second partition as NTFS ot FAT32 where the DPI.exe will be (this exe will call DPI.exe [Driver Pack Installer]), my problem is: How to Call DPI.exe from cmd or bat (unknowing the right Unit Letter where my file is located [See Picture below) in this case is on Unit L (what about if is used in another PC) I hope you can understand what i mean and help me with this script/command not sure how to call it Thanks!!! Edited February 6, 2019 by Tripredacus title
jaclaz Posted February 3, 2019 Posted February 3, 2019 (edited) It depends on the environment. The easiest would be to use a "tag" file of sort, Then you simply find the volume which contains this "tag" file, let's say it is a 0 byte file named thisisit.tag. The problem might be that in order to find the volume you need to list or check the contents of all volumes, and depending on the speciific OS there may be issues with devices that have been assigned a drive letter but that do not really "exist", a classic example is (again it depends on OS) those "media" readers (internal but USB connected) that sport a couple USB ports, a SD and a CF reader, etc. and with volumes with thousands of files there could be time issues. See starting from here for a few posts: Here is another approach (due to some issues in the nth board update the formatting of CODE contents has been ruined, so you will need some patience, after having done copy and paste to rebuild the actual batches proposed): In your specific case, I would rather check the Registry and get the drive letter associated to the Disk Signature and Offset of your USB stick, however (assuming that you are not going to change either). But this depends again on the environment and the device, you cannot use this method if the device is removable (or you can use it only to exclude non-removable devices). jaclaz Edited February 3, 2019 by jaclaz
gunsmokingman Posted February 3, 2019 Posted February 3, 2019 If you can use VBS here is a VBS script that checks all local active drives searching for a file called Test.txt. '-> Objects For Run Time Dim Act :Set Act = CreateObject("Wscript.Shell") Dim Fso :Set Fso = CreateObject("Scripting.FileSystemObject") '-> Varibles For Run Time Dim Chk, Drv, Fil, Tmp '-> File Name To Search For Fil = "\Test.txt" '-> Check File Set To False If Found It Becomes True Chk = False '-> Loop For All The Drives For Each Drv In Fso.Drives '-> If Drive is Active If Drv.IsReady = True Then '-> Check For The File On A Active Drive If Fso.FileExists(Drv & Fil) Then '-> If Check File Found Do Some Action WScript.Echo Drv & Fil Chk = True Else '-> Colllect The Drives That Are Missing The Check File Tmp = Tmp & "Missing : " & Drv & Fil & vbCrLf End If End If Next '-> If The Check File Is Missing If Chk = False Then WScript.Echo Tmp End If
jumper Posted February 5, 2019 Posted February 5, 2019 (edited) In this example, it looks like Start.bat is on L: and DPI.exe will be on M:. Start.bat knows the path for DPI.exe, but not its drive letter. Check for Z:\path\DPI.exe and work backwards. Or Start.bat can determine its own drive letter (using %0) and work forward. Each drive could also be checked for a matching label (or other identifier) first. If exist z:\path\dpi.exe z:\path\dpi.exe | exit If exist y:\path\dpi.exe y:\path\dpi.exe | exit ... If exist c:\path\dpi.exe c:\path\dpi.exe | exit echo Oops! pause (A For %%d in (Z Y ... C) do loop could also be used.) Edited February 6, 2019 by jumper
jaclaz Posted February 5, 2019 Posted February 5, 2019 @jumper The given example: https://msfn.org/board/topic/137714-install-xp-from-a-ram-loaded-iso-image/?page=8&tab=comments#comment-895119 is EXACTLY about that FOR loop, BUT (again it depends on the OS) that (the IF EXIST) might fail if some devices (that get a drive letter even if "empty") are on the machine. jaclaz
jumper Posted February 6, 2019 Posted February 6, 2019 Thanks for providing a link this time (instead of just a blank embed). Good read. :yes: I have one of those combo USB readers on my XP box that pre-assigns drive letters and if exist and if not exist both work just fine on empty slots. However, I was able to get a feel for the frustration of dealing with empty media errors on problem devices by testing empty drive a:. If the OP returns and gets everything working except dealing with problem devices, we can write a plugin to solve it.
jaclaz Posted February 6, 2019 Posted February 6, 2019 18 minutes ago, jumper said: Thanks for providing a link this time (instead of just a blank embed). Good read. I don't get it. It is not a "blank embed", it is the SAME link (and it is clickable), that the stupid board software insists on automagically transform into the stupid preview unless you are fast enough to tell it explicitly to "display as link instead", here are two times the same link: The above has been magically transformed, the below one is the same copy/paste BUT clicking on "display as link instead": https://msfn.org/board/topic/137714-install-xp-from-a-ram-loaded-iso-image/?page=8&tab=comments#comment-895119 It is entirely possible that some of the XP updates post 2009/2010 fixed the issue, good to know that it works on your machine/OS , as said it depends on OS (and possibly also on the specific devices, I remember the behaviour to be faulty also with USB ZIP disks besides my multimedia card reader). jaclaz
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now