@echo off if '%1'==" GOTO error SET unidad= FOR %%v IN (a A a: A:) DO IF '%1'=='%%v' SET unidad=0 FOR %%v IN (b B b: B:) DO IF '%1'=='%%v' SET unidad=1 FOR %%v IN (c C c: C:) DO IF '%1'=='%%v' SET unidad=2 IF '%unidad%'=="GOTO error Echo L 0 %unidad% 0 1 > archtmp Echo E 26 29 %5 %4 %3 %2 >> archtmp Echo w 0 %unidad% 0 1 >> archtmp Echo q >> archtmp debug nul del archtmp SET unidad= FOR %%v in (a b c d A B C D) DO IF '%1'=='%%v' SET unidad=: Echo Numero Serial de la unidad %1%unidad% cambiado a: %2%3-%4%5 DIR %1%unidad% | FIND "Serial Number is" SET unidad= GOTO End :error Echo Syntax: NUSERIAL d: xx xx xx xx Echo where d: is the drive to get a new serial number Echo and xx xx xx xx are the eight hexadecimal digits Echo ordered as desired i the serial number Echo ejemplo NUSERIAL a: 12 34 ab cd yields serial Echo number 1234-abcd :End rem dir %1%unidad%/p