Content Type
Profiles
Forums
Events
Everything posted by Yzöwl
-
Me too! Here is an example which should work in XP@echo off&Mode 33,2&Color b2&Title Script By YzOwl for %%? in (z y x w v u t s r q p o n m l k j i h g f e d c) do ( fsutil fsinfo drivetype %%?:|find "No such Root Directory">nul 2>&1&&set nextfree=%%?: ) echo/The next free drive letter is %nextfree%&ping -n 11 127.0.0.1>nul&goto :eof
-
Can you not use RunOnce or RunOnceEx [GuiUnattended] DetachedProgram = CMD.EXE Arguments = "/Q /C FOR /F %? IN ('%SYSTEMROOT%\SYSTEM32\MOUNTVOL.EXE^|FINDSTR :\') DO IF EXIST %?WIN51 CALL %?ROOT_DIR\DIR\MyBatch.cmd"Where you place MyBatch.cmd in a folder called DIR which in turn is placed inside a directory in the root of the CD named ROOT_DIR. MyBatch.cmd can then contain or call, the drivers stuff already mentioned plus your RunOnce or RunOnceEx stuff using .\ or %~d0 references for your CD-ROM drive letter.
-
REGEDIT /S "MY USB\POCO_SYSTEMS_INC.REG"
-
[CopyFiles-section-name] destination-file-name, source-file-name, temporary-file-name, flag ; ;Multiple flags can be used by adding the values to create the combined flag. ;The following valid flags can be used: ;1 -On CopyFiles: Warn if user tries to skip file. ; -On DelFiles: If file is in use, queue up delayed delete in wininit.ini. Otherwise an in-use file will not be deleted. ;2 -Setup Critical: don't allow user to skip file. ;4 -Ignore version check and always copy file. This will overwrite a newer file. ;8 -Force Rename (trick engine into thinking that file is in use). Only happens if file already exists on target. ;16 -If file already exists on target, don't copy. ;32 -Suppress version conflict dialog and don't overwrite newer files.
-
You only need the first four lines or the last four lines, preferably the last four, these are automatically added to the 'other' location.
-
I have it running flawlessly on my machines. What is the string in your registry value data? This is mineC:\WINDOWS\system32\cmd.exe /c @echo off&for /f "delims=" %%? in ('cscript //nologo C:\WINDOWS\system32\GeTarget.vbs "%1"') do start "" explorer.exe /select, "%%~?"
-
Modify txtsetup.sif to copy files
Yzöwl replied to Incroyable HULK's topic in Unattended Windows 2000/XP/2003
Incidentally, the first suggestion is a failure! Setup cannot create the folder: \WINDOWS\..<Edit> I have now, however, had some luck with using folders to hold the files, as opposed to the I386. There should now be no problem adding duplicate file names. The only problem now is being limited to the %WINDIR% </Edit> -
Modify txtsetup.sif to copy files
Yzöwl replied to Incroyable HULK's topic in Unattended Windows 2000/XP/2003
I had decided not to persue this further, and in true Scooby-Doo style, I would have gotten away with it, if it hadn't been for you! Thanks Wraith -
Modify txtsetup.sif to copy files
Yzöwl replied to Incroyable HULK's topic in Unattended Windows 2000/XP/2003
In a word, yes! At the moment I have implemented a batch file method of doing it using HFSLIP, the files however using txtsetup.sif are only copied to a folder structure within %WINDIR%. The current working method of this was submitted to tommyp possibly for inclusion into the next version of the program. The biggest setback for this is that all the files are compressed and added to the I386 source on your CD, however if you were unfortunate to have more than one file with the same name, readme.txt for instance, I'm sure that you will have problems. To date I have been unable to get dosnet.inf to recognize folder structures in order to prevent this scenario, and I don't really wish to go down the route of checking if every file exists in I386 for each entry and then go through a renaming loop. My batch file doesn't necessarily need to be run with HFSLIP, it could easily be altered in order to make the changes prior to burning your source. Another way of looking at the problem would be to use the idea from the 'drivers from cd' method and pause the setup whilst copying the files over to your preferred location, then continue the setup. If you didn't have many files to copy over, the easiest solution would be to use the following two lines beneath [GuiUnattended] in winnt.sif. DetachedProgram = CMD.EXE Arguments = "/Q /C FOR /F %? IN ('%SYSTEMROOT%\SYSTEM32\MOUNTVOL.EXE^|FINDSTR :\') DO IF EXIST %?WIN51 XCOPY %?MYDIR %SYSTEMDRIVE% /S/I/Q"<Edit> Just to add, %? is your CD-ROM driveletter e.g. G:\ and MYDIR is the name of a folder in the route of your CD e.g. G:\MYDIR </Edit> -
The following two lines work fine for me! DetachedProgram = CMD.EXE Arguments = "/Q /C FOR /F %? IN ('%SYSTEMROOT%\SYSTEM32\MOUNTVOL.EXE^|FINDSTR :\') DO IF EXIST %?WIN51 START %?SUPPORT\TOOLS\XTRAS\renuser.exe Administrator root"
-
@Cluberti - OEAccess specifies whether to install visible entry points to Outlook Express. Syntax OEAccess = On | Off (default is On) On - Installs visible entry points to Outlook Express. Off - Does not install visible entry points to Outlook Express.
-
tommyp, I haven't changed what your previous code did, just the way it did it. However, I am unaware if your original was supposed to say. DO IF EXIST %%%%i:\%SVCPATH%I386\SVCPACK SET HFSLIP=%%%%i:\%SVCPATH%I386If it was then mine should also say IF EXIST %%~d0\%SVCPATH%I386\SVCPACK SET HFSLIP=%%~d0\%SVCPATH%I386I was just pointing out that the contents of svcpack are run from the cd, not copied to the hard-drive first.
-
You could even try the following version :UPDATE_INIT ECHO/@ECHO OFF^&SETLOCAL ENABLEEXTENSIONS>SOURCESS\I386\SVCPACK\HFSLIP.CMD ECHO/FOR %%%%? IN (CMDOW.EXE) DO IF "%%%%~$PATH:?" NEQ "" CMDOW @ /HID>>SOURCESS\I386\SVCPACK\HFSLIP.CMD ECHO/TITLE HFSLIP>>SOURCESS\I386\SVCPACK\HFSLIP.CMD ECHO/IF EXIST %%~d0\%SVCPATH%I386\SVCPACK SET HFSLIP=%%~d0\I386 >>SOURCESS\I386\SVCPACK\HFSLIP.CMD GOTO EOFThe idea being that it uses cmdow.exe if located anywhere within %PATH%, not just %WINDIR%\system32. The other change I have implemented, is to remove the drive search. The HFSLIP.CMD runs from CD-ROM:\....\SVCPACK, therefore %~d0 should be the CD-ROM drive letter, without the need for a search.
-
In the HFSLIP_51030 or whichever you are using, change the :UPDATE_INIT to this :UPDATE_INIT ECHO @ECHO OFF>>SOURCESS\I386\SVCPACK\HFSLIP.CMD REM CLS >>SOURCESS\I386\SVCPACK\HFSLIP.CMD ECHO IF EXIST %%SYSTEMROOT%%\SYSTEM32\CMDOW.EXE cmdow @ /HID >>SOURCESS\I386\SVCPACK\HFSLIP.CMD ECHO Title HFSLIP >>SOURCESS\I386\SVCPACK\HFSLIP.CMD ECHO FOR %%%%i IN (D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%%%i:\%SVCPATH%I386\SVCPACK SET HFSLIP=%%%%i:\I386>>SOURCESS\I386\SVCPACK\HFSLIP.CMD GOTO EOF
-
@ MHz, Sorry, it was part of a rather large reply, which went awry, due to server or connection problems yesterday. I just didn't get time to re-compose it, until after the questioner had already discovered the answer.
-
How about adding Next to the empty line
-
As nobody has picked up on it yet, from my vbs alternative earlier, here is a working method! First create this file and save it as %SystemRoot%\system32\GeTarget.vbs Wscript.Echo CreateObject("WScript.Shell").CreateShortcut(WScript.Arguments (0)).TargetPathThe above should all be on one line. Now paste this single line into Start » Run and click OK reg add "HKCU\Software\Classes\lnkfile\Shell\Find Target\command" /ve /d "%comspec% /c @echo off&for /f \"delims=\" %%? in ('cscript //nologo %SystemRoot%\system32\GeTarget.vbs \"%1\"') do start \"\" explorer.exe /select, \"%%~?\"" /fNow right click any shortcut and choose Find Target I hope this is better!
-
You'll have to be since you cannot be contacted by PM! Have you reached your limit?What exactly are you trying to achieve with the :HFCLEANUP section?
-
I know, it even impressed me! I could have stopped at just answering the request, but percentage, number of files to copy, number copied, source and destination names and a progress bar I'm just too kind
-
Correction to your correction: The original code was fine!
-
Txtsetup.sif is only used to place files, not find them. The files added to it are only for inclusion into the %SYSTEMROOT% structure. i.e. all locations shown in [WinntDirectories] are relative to the location within %SYSTEMROOT% where the relevant files in [sourceDisksFiles] will be copied. I was under the impression that the files were all added using the [Files] and [Directories] sections of Dosnet.inf. This would tell the locations on the CD for the first phase of the unattended file copy process to a temporary location. At that point the Txtsetup file would be used to place the files in their final location from that temporary location.
-
I added the directories for the simple reason that someone is bound to add sufficient additional folders plus subfolders to have matching filenames. At that point overwrites or the lack of will cause problems. The ideal, as I suggested in my last post would be to integrate the folders structure into I386 instead of just individual files. I am always asked about resources for learning, however other than whatever you can find on Google, everything I do is trial and error type learning.
-
@ pnkiller78 & tommyp Based upon what I understood your needs to be, the following should allow you to add directories to HFEXPERT, update both dosnet.inf and txtsetup.sif accordingly and add the directories to the WORK\I386E directory. Tommy would just need to ensure that the folders are integrated into I386 okay. P.S. - no third party tools are required @echo off&setlocal enableextensions enabledelayedexpansion set basedir=%~dp0HFEXPERT\ for /f "delims=" %%? in ('dir/b/s/on/ad HFEXPERT ^|findstr/i/e/v "appreplacement bin codecs drivers gre help system system32 win" ^2^>nul') do if errorlevel 0 dir/b/a-d %%? >nul 2>&1&&call :paths "%%~?" if not exist WORK\XpertDir.txt endlocal&goto :eof set "sifdir=599"&set "infdir=4" echo/[WinntDirectories]>WORK\TXTSETUP.DIR echo/[SourceDisksFiles]>WORK\TXTSETUP.FIL echo/[Directories]>WORK\DOSNET.DIR echo/[Files]>WORK\DOSNET.FIL for /f "delims=" %%? in (WORK\XpertDir.txt) do ( set /a sifdir+=1 set /a infdir+=1 echo/!sifdir! = %%?>>WORK\TXTSETUP.DIR echo/d!infdir! = \I386\%%?>>WORK\DOSNET.DIR dir/b/on/a-d HFEXPERT\%%?>WORK\HFEXPERT.TXT for /f "delims=" %%? in (WORK\HFEXPERT.TXT) do ( echo/%%? = 1,,,,,,,!sifdir!,0,0 ;HFEXPERT>>WORK\TXTSETUP.FIL echo/d!infdir!,%%? ;HFEXPERT>>WORK\DOSNET.FIL ) ) copy WORK\TXTSETUP.DIR+WORK\TXTSETUP.FIL WORK\TXTSETUP.TMP>nul&&del /q WORK\TXTSETUP.DIR WORK\TXTSETUP.FIL copy WORK\DOSNET.DIR+WORK\DOSNET.FIL WORK\DOSNET.TMP>nul&&del /q WORK\DOSNET.DIR WORK\DOSNET.FIL for /f "delims=" %%? in (WORK\TXTSETUP.TMP) do echo/%%?>>SOURCESS\I386\TXTSETUP.SIF for /f "delims=" %%? in (WORK\DOSNET.TMP) do echo/%%?>>SOURCESS\I386\DOSNET.INF del /q WORK\TXTSETUP.TMP WORK\DOSNET.TMP WORK\XpertDir.txt WORK\HFEXPERT.TXT endlocal&goto :eof :paths set DirName=%~1 set PathName=!DirName:%basedir%=! echo/%PathName%>>WORK\XpertDir.txt xcopy "%DirName%" "WORK\I386E\%PathName%" /s/i/q/h/y>nul goto :eof@ tommyp just a note to say that in line 3 I have included drivers and help in the findstr command, for pnkiller78s benefit only.