¿es posible cambiar de nombre por lotes de una lista, usando un archivo bat como rename filename.txt newfilename.txt?

1

Así que enseño una clase y algunos de mis alumnos tienen Mac. Literalmente, lo único que he encontrado es este problema .bat.

Usamos Excel para comenzar con una lista de nombres de archivo en una columna y una lista de nombres de archivos nuevos en la otra columna, y luego creamos un archivo bat. Los nuevos nombres no son intuitivos y no siguen un patrón, por lo que la lógica típica no puede manejar esto; Debemos confiar en la lista.

¿Las Mac tienen algo que pueda funcionar? Me encantaría proporcionar una solución.

Esto es lo que parece en Windows (asume que todos los archivos están en la misma carpeta, y el archivo bat se ejecuta desde la raíz; es posible usar fullpaths)

rename accounting2016.xls ID0001.xls
rename vacationphoto01.jpg ID0042.jpg
rename BuildingPlans.docx ID0189.docx
    
pregunta jqning 05.10.2016 - 17:04

2 respuestas

1

Las herramientas de la línea de comandos de Unix son lo que usted desea y usted o los usuarios de Mac en su grupo deben realizar algunos tutoriales básicos sobre esto. A menudo se llama programación de shell.

El comando que desea aquí es mv (corto para mover) El script de shell que generaría (equivalente al archivo por lotes) incluiría

mv accounting2016.xls ID0001.xls
mv vacationphoto01.jpg ID0042.jpg
mv BuildingPlans.docx ID0189.docx

Tenga en cuenta que esta es una coincidencia exacta siempre y cuando no utilice comodines. Los comodines se tratan de manera diferente en los archivos de comandos de Windows y en los shells de Unix. Hay algunas cosas que puede hacer solo con el primero. Esto se debe a que la expansión del comodín se realiza mediante el comando de cambio de nombre en Windows y el shell en Unix

    
respondido por el Mark 05.10.2016 - 17:32
0

Si leo la pregunta correctamente, ¿está generando el archivo por lotes de algún tipo de proceso de exportación desde las columnas de Excel que contienen el comando y dos nombres de archivo?

En tal caso, simplemente puede cambiar el comando rename a "Mac equivalente" mv . El archivo ahora contiene

mv accounting2016.xls ID0001.xls
mv vacationphoto01.jpg ID0042.jpg
mv BuildingPlans.docx ID0189.docx

A continuación, puede ejecutar los comandos enumerados en el archivo, por ejemplo, Bash:

bash renames.txt

Tenga en cuenta que si los nombres de los archivos contienen espacios en blanco u otros caracteres especiales, debe rodearlos de comillas, pero creo que ese es el caso también en Windows.

    
respondido por el Jawa 05.10.2016 - 17:31

Lea otras preguntas en las etiquetas