Básicamente, tengo este código:¿Por qué DirectoryInfo.GetFiles() coincide con archivos que no coinciden con la máscara?
DirectoryInfo dir = new DirectoryInfo(@"\\MYNETWORK11\ABCDEFG\ABCDEFGHIJKL\00806\");
FileInfo[] files = dir.GetFiles("200810*");
espero que se han encontrado archivos a partir de 200810. Sin embargo, se ficheros llamados
20070618_00806.bak y 20070817_00806.bak juego (las estrellas aren 't en el nombre del archivo, esa era la única forma en que podía incluir el guión bajo)
Lo intenté con dir desde un símbolo del sistema, y también coincide con esos archivos. ¿Por qué?
Editar:
Tal vez usando C: como el ejemplo no era una buena cosa. El directorio realidad estoy preguntando es un recurso compartido de red \\ MYNETWORK11 \ ABCDEFG \ ABCDEFGHIJKL \ 00806 \
Si la comprobación contra el nombre corto tiene nada que ver con esto, ¿no será 20070817_00806.bak 200708 ~ 1. bak? Que no coincide con cualquiera
Esto no lo explica por completo, así que solo lo estoy agregando como comentario, pero _ es un carácter especial para fines de coincidencia. Pon un 2 en lugar del _ para esos nombres de archivo y te acercas un poco más. –
@Joel, ¿estás diciendo que _ es especial en Windows o en el formato SO? – scottm
Funciona para mí. Creé un archivo llamado 20070618_00806.bak y ejecuté 'dir 200810 *' en la carpeta. No se encontraron archivos. ¿Me estoy perdiendo de algo? –