Como se menciona en el título, necesito exportar los nombres de varios archivos de imagen de varios directorios a un solo archivo de texto como una lista. ¿Cómo haría para realizar tal tarea?
En segundo lugar, ¿sería posible eliminar parcialmente los nombres de los archivos que figuran en el archivo de texto? Por favor vea la captura de pantalla:
Necesito eliminar el nombre de archivo "HS3-HTS-" y dejar solo el número del nombre de archivo.
Finalmente, ¿necesitaría el símbolo del sistema para ejecutar esta tarea o existe otra solución?
Encontre unenlaceaquí, pero no decía cómo seleccionar solo archivos de imagen, se agradecerá cualquier ayuda. Gracias de antemano.
Respuesta1
Suponiendo que desea extensiones de archivo jpg, jpeg, gif y png; y suponiendo que desea extraer los nombres de archivos del directorio actual:
powershell "dir *.jpg,*.jpeg,*.gif,*.png | ForEach-Object {echo ($_.BaseName -replace 'HS3-HTS-', '')}" > Output.txt
Si se necesita una búsqueda recursiva para buscar archivos en varios directorios usando un solo comando, lo siguiente puede funcionar (simplemente reemplace "C:\" con la unidad o directorio base deseado):
powershell "Get-ChildItem -Path C:\ -Recurse -Include *.jpg,*.jpeg,*.gif,*.png | ForEach-Object {echo ($_.BaseName -replace 'HS3-HTS-', '')}" > Output.txt
Tenga en cuenta que los dos ejemplos anteriores colocarán la lista en un archivo llamado "Output.txt" ubicado en el directorio actual. Pordirectorio actual, me refiero al directorio que se está viendo mediante el símbolo del sistema. Si desea ver el resultado en el símbolo del sistema directamente sin tener que abrir un archivo, simplemente omita el final > Output.txt
en los comandos anteriores. También tenga en cuenta que, a pesar de estar basados en PowerShell, los comandos anteriores se formularon para ejecutarse en el símbolo del sistema normal. La parte "powershell" le indica que analice el comando usando PowerShell.