[w2k] CF eject'en met dos commando

Pagina: 1
Acties:
  • 161 views sinds 30-01-2008
  • Reageer

  • Dikke Foaf
  • Registratie: November 2002
  • Laatst online: 08-03 23:59
Ik moet 250 Compact Flash kaartjes van 64MB voorzien van wat boot-software.
Dit staat allemaal in een batch file (*.bat) en werkt.
Nu moet ik echter telkens naar 'windows verkenner' gaan en daar rechts klikken op de drive om dan 'eject' te kiezen.
Nieuwe CF erin, batch file uitvoeren, 'eject'en', nieuwe CF erin, enz...
Als er een dos-commando zou bestaan om die drive te 'eject'en', dan zou ik dat zeer leuk vinden, dan kan ik dit bij in die batch file zetten zodoende dat ik niet steeds moet switchen tussen verkenner en dat dos-venster.
Ik werk met een 6-in-1 cardreader op USB.

Ik heb deveject.exe gevonden maar hiermee 'eject' ik de hele card-reader waardoor ik die opnieuw moet aansluiten om terug herkend te worden, dit is niet de bedoeling natuurlijk.
Er staan in verkenner 4 drives die de cardreader voorstellen.

  • DarthPlastic
  • Registratie: Augustus 2005
  • Laatst online: 07-01 19:29
eject? hoebedoelu? O-)
Gewoon eruitrukken!

Owner SuitIT, https://www.suitit.nl


  • Dikke Foaf
  • Registratie: November 2002
  • Laatst online: 08-03 23:59
Dan komt hij soms met een schrijffout omdat de pc nog niet doorheeft dat de CF eruit is.
Soms is ook de CF onleesbaar geworden.
Geen optie dus.

  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

DarthPlastic schreef op donderdag 09 maart 2006 @ 17:44:
eject? hoebedoelu? O-)
Gewoon eruitrukken!
Niet aan te raden.
Hotplug onder Windows 2000 wijkt nogal af van XP voor wat betreft de write caching strategie.

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


  • Brahiewahiewa
  • Registratie: Oktober 2001
  • Laatst online: 30-09-2022

Brahiewahiewa

boelkloedig

Als je zelf een beetje had gegoogled, hadje misschien wel deze gevonden

QnJhaGlld2FoaWV3YQ==


  • Dikke Foaf
  • Registratie: November 2002
  • Laatst online: 08-03 23:59
Zoals reeds gezegd kan ik met deveject.exe wel de hele cardreader stoppen, maar dat is helemaal niet de bedoeling. Hij moet gewoon die CF kaart 'eject'en' (zoals in verkenner, rechtsklik op drive, eject) en dat lukt me niet met deveject.exe
Is er geen dos-commando van windows zelf?

  • NaN
  • Registratie: Oktober 2004
  • Niet online

NaN

SjoebieDoowah.

Dikke Foaf schreef op vrijdag 10 maart 2006 @ 08:58:

Is er geen dos-commando van windows zelf?
Nee.

(Sja, sorry meer kan ik er niet van zeggen!) Je hebt ueberhaupt geen 'Eject' DOS-commando.

  • downtime
  • Registratie: Januari 2000
  • Niet online

downtime

Everybody lies


  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Kon 'devcon' niet ? :)

Verwijderd

Usage: D:\downloads\New Folder\deveject.exe -EjectDrive:<Drive>|-EjectName:<Name
>|-EjectId:<DeviceId> [-v] [-Debug]

[ Voor 14% gewijzigd door Verwijderd op 10-03-2006 10:28 ]


  • Brahiewahiewa
  • Registratie: Oktober 2001
  • Laatst online: 30-09-2022

Brahiewahiewa

boelkloedig

Dikke Foaf schreef op vrijdag 10 maart 2006 @ 08:58:
Zoals reeds gezegd kan ik met deveject.exe wel de hele cardreader stoppen, maar dat is helemaal niet de bedoeling. Hij moet gewoon die CF kaart 'eject'en' (zoals in verkenner, rechtsklik op drive, eject) en dat lukt me niet met deveject.exe
Is er geen dos-commando van windows zelf?
Als je nou even verder kijkt dan je neus lang is, zie je op die pagina ook het volgende script
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CONST SSF_DRIVES = 17
Dim oShell, oNameSpace, oDrive, strDrive

' Set the Default Drive Letter
strDrive = "E:\"

If Wscript.Arguments.Count > 0 Then
strDrive = Wscript.Arguments.Unnamed.Item(0)
End If

Set oShell     = CreateObject("Shell.Application")
Set oNamespace = oShell.NameSpace(SSF_DRIVES)
Set oDrive     = oNamespace.ParseName(strDrive)

oDrive.InvokeVerb "E&ject"

MsgBox strDrive & " drive ejected. You can now remove the device safely."

QnJhaGlld2FoaWV3YQ==


  • Dikke Foaf
  • Registratie: November 2002
  • Laatst online: 08-03 23:59
En werkt dat ook in een batch file?
Lijkt nogal vb-achtig.

Voor ik postte heb ik geprobeerd met deveject maar dat wilde enkel de drive niet ejecten
D:\downloads\New Folder\deveject.exe -EjectDrive:F
D:\downloads\New Folder\deveject.exe -EjectDrive:F:
D:\downloads\New Folder\deveject.exe -EjectDrive:F:\
heb ik geprobeerd maar dan krijg ik de melding
--E command not supported

D:\downloads\New Folder\deveject.exe EjectDrive:F
Werkt ook niet, hij geeft geen terugmelding en gaat gewoon terug naar D:\downloads\New Folder\

Het stoppen van de cardreader is me wel gelukt met deveject.exe "USB Storage Device" maar het is niet de bedoeling de cardreader te removen.

[ Voor 93% gewijzigd door Dikke Foaf op 10-03-2006 15:47 ]


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 14-03 09:15
Je kunt toch een VBS laten uitvoeren vanuit je batch script?

  • TheBlasphemer
  • Registratie: September 2004
  • Laatst online: 13-11-2025
Die vbs, dat is een VB-Script.
Die kun je aanroepen met wscript vanuit je dos progsel, en daarna weer vrolijk verder gaan met het batch progsel :)

[img=http://www.web2messenger.com/smallstatus/w2m/theblasp.png]


  • downtime
  • Registratie: Januari 2000
  • Niet online

downtime

Everybody lies

Dikke Foaf schreef op vrijdag 10 maart 2006 @ 15:43:
En werkt dat ook in een batch file?
Lijkt nogal vb-achtig.
Je kunt VBS gewoon vanuit een batch file starten door cscript.exe aan te roepen. Maar heb je Sync eigenlijk al geprobeerd? Dat flusht de writecache zodat je daarna de kaart er gewoon uit kunt trekken.

  • Nielson
  • Registratie: Juni 2001
  • Laatst online: 22:44
Probeer RemoveDrive eens, werkt erg simpel en checkt ook op nog openstaande files en heeft een herhalingsfunctie.

/edit: Hmm, 't is een mooi tooltje maar dus niet wat je zocht aangezien deze ook de hele card reader verwijderd volgens de text op de site.
RemoveDrive removes drives and using parameter -L it loops until success. As result it writes 'success' in green or 'failed' in red.

removedrive u: -l

would try to remove drive U: in an endless loop.

Instead a drive letter you can use a mount point too:

removedrive E:\_CardReader\CF -l

On a multi slot card reader it would remove the whole reader. To remove a single media use SYNC.

You can use a device name too as mentioned in the 'save removal' dialog:

removedrive "Corsair Flash Voyager USB Device" -l

If Admin previleges are availlable RemoveDrive flushes the file buffers first, even Windows does it anyway before removing a drive...RemoveDrive removes drives and using parameter -L it loops until success. As result it writes 'success' in green or 'failed' in red.

removedrive u: -l

would try to remove drive U: in an endless loop.

Instead a drive letter you can use a mount point too:

removedrive E:\_CardReader\CF -l

On a multi slot card reader it would remove the whole reader. To remove a single media use SYNC.

You can use a device name too as mentioned in the 'save removal' dialog:

removedrive "Corsair Flash Voyager USB Device" -l

If Admin previleges are availlable RemoveDrive flushes the file buffers first, even Windows does it anyway before removing a drive...
Misschien dan toch zoals /downtime/ al meldde Sync proberen ?

[ Voor 83% gewijzigd door Nielson op 10-03-2006 22:52 ]

Pagina: 1