Toon posts:

[DOS] For met bestandsnamen.. teruggave van een stukje..

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met een opstart cdrom te maken, dit doe ik in VMWare. Alles werkt leuk en aardig.

Ik heb oa deze dingne al werkend:
CD-Rom
Muis
Ramdrive
Format menu(textbased)
Partitioneren(GDISK met Textbased menu)

Alleen voor het laden van MOD's die de gebruiker zelf moet kunnen toevoegen heb ik een FOR code in gebruik.

code:
1
FOR %%F IN (MOD_*.EXE) DO %%F %RAMD%:

Dit voerd alle mod's uit, alleen het probleem is dat ik dit niet mooi vind.
Ik wil graag de text die onder het MOD_*.EXE (het sterretje dus) staat een nieuwe directory aanmaken.

Als ik deze mods in de dir heb staan waardat ik de for code uitvoer:
code:
1
2
3
4
5
mod_nc.exe
mod_qb.exe
mod_nic.exe
mod_cmos.exe
mod_ghost.exe

dan wil ik op mijn ramdrive per mod een aparte directory aanmaken.
dus dan krijg je zoiets:
code:
1
2
3
4
5
nc
qb
nic
cmos
ghost


Ik krijg het script(via een andere batchfile) zover dat ik een dir aanmaak, maar dit is dan incl de mod_.exe texten en die wil ik er graag af hebben.

Hoe kan ik texten in stukjes knippen zonder extra programmatjes?

[edit]
Ik ben een beetje aan de slag gegaan met QuickBasic(incl compiler), dan krijg je code's als dit:
QBasic:
1
2
3
4
5
cmd$ = command$
cmd1$ = left$(cmd$,len(cmd$)-4)
mod$ = right$(cmd1$,len(cmd1$)-4)

shell "set mod="+cmd1$

Alleen het probleem is dat hij hem niet set.
Ook als ik het print en via dit command neerzet werkt het niet:
Batchfile:
1
md <getmod.exe %1

dan maakt hij %1 aan(dus het commando waarmee ik de batch opende) en hij heeft dus niet via de getmod gestuurd.

[ Voor 20% gewijzigd door Verwijderd op 14-09-2003 20:43 ]


  • MrC4u
  • Registratie: Maart 2002
  • Laatst online: 09-02 19:20
QuickBasic set hem alleen in de nieuwe shell, maar niet in je oude omgeving. Overigens moet je het QB commando Environ$ hebben (zoiets iig).

..: De 3 H's van Microsoft: Herhalen, Herstarten en Herinstalleren :..


  • Krypt
  • Registratie: April 2000
  • Laatst online: 29-04 07:40
Dan moet je met tokens in je for statement gebruiken.. nadeel is dat ie dan geen dir's doorzoekt en moet je daar zelf een runstatement van maken..

for /f "tokens=2 delims=_." %f in ('dir mod_*.exe/b') do echo %f
zo dus..

In 'n batchfile natuurlijk 2 %-en gebruiken..

[ Voor 17% gewijzigd door Krypt op 15-09-2003 09:57 ]

Pvouput live