2013-03-02 1 views
2

J'utilise Windows XP Pro avec le Service Pack 3.Comment tester la disquette dans le lecteur?

J'ai un fichier .bat qui teste si plusieurs lecteurs sont disponibles, et s'ils le sont, alors le fichier bat écrit un petit script qu'un autre programme, un fichier exe , les usages. Le problème est lorsque le fichier bat émet la commande pour tester si un disque est dans le lecteur de disquette, Windows génère une erreur et une boîte de message. Windows effectue ses propres tests et ouvre une boîte de message, qui arrête mon fichier bat. Je ne veux pas que Windows fasse les tests.

Voici un fichier de chauve-souris court je l'ai écrit pour démontrer le problème:

@ECHO OFF 
CLS 

REM TEST FOR FLASH DRIVE 
IF EXIST G:\NUL (
    ECHO Flash Drive found 
) 


REM TEST FOR FLOPPY DISK IN DRIVE 
IF EXIST A:\NUL (
    ECHO Floppy in Drive 
) 

Comment puis-je tester une disquette sans Windows obtenir de la manière?

+0

Ne pas jeter une erreur dans Windows 7. Je suppose que c'est Windows XP spécifique. – PTS

+0

L'API pour supprimer cette boîte de dialogue est SetErrorMode; Je ne sais pas si vous pouvez invoquer cela dans le contexte d'un fichier batch, cependant. Une recherche rapide indique que vous pourriez faire une commande dir à la place qui n'affiche pas la boîte de dialogue. – Luke

+1

'pushd a: \' puis cochez '% ERRORLEVEL%' –

Répondre

0

vous pouvez supprimer l'opérateur null, et il suffit d'essayer le lecteur A :. Cela fonctionne pour Windows 7, donc cela pourrait fonctionner pour Windows XP. ou vous pouvez utiliser une commande shell de puissance qui liste tous les lecteurs actifs qui est

get-psdrive. 

shell Power a la capacité d'exécuter des commandes comme cmd avec un peu plus des fonctions intégrées.

Questions connexes