Ok, tengo más de 15.000 archivos con los que necesito hacer esto.
Intenté esto, mi directorio raíz es C:\asf>
el comando:for /r %x in (*.asf) do aifdump -hr "%x" "%CD%"
pero los archivos van a mi directorio raíz y se están sobrescribiendo.
La sintaxis de aifdump es aifdump.exe [Opción] [ASF_path] [Texture_dump_path] cualquier método para solucionar este problema está bien incluso si usa Python o similar, gracias por su ayuda.
Aquí hay una muestra si necesita que funcione:http://www.mediafire.com/?e9jwa3tkedilcy5
gracias por su ayuda Michael y Bob. cuando ejecuto el comando hace esto
C:\asf>for /r %x in (*.asf) do aifdump -hr "%x" "%~dpnx"
C:\asf>aifdump -hr "C:\asf\9\0.asf" "C:\asf\9\0"
Texture 0.dds : 2.00 KB
y luego aifdump fallará. Descubrí que si hago la carpeta de salida antes
Al ejecutar el comando, funcionará, entonces, ¿cómo puedo reelaborar el comando para hacer?
los directorios necesarios antes de ejecutar el comando para aifdump.
Lo descubrí, solo tenía que cambiar aifdump -hr
amkdir
De nuevo, gracias por tu ayuda
Respuesta1
%CD%
siempre devolverá el directorio en el que estaba actual cuando ejecutó el comando; en este caso eso es C:\asf
'. Si interpreto lo que estás preguntando, ¿quieres que cada uno de ellos vaya a un directorio separado? Si es así, sólo necesita crear ese nombre de directorio en su comando.
Tenga en cuenta, sin embargo, que ustedno puedotener un archivo y una carpeta con el mismo nombre y la misma ruta principal; por ejemplo, si tuviera un archivo llamado C:\asdf\asdf.asf
,no puedoTambién cree una carpeta con un nombre C:\asdf\asdf.asf
porque la ruta sería ambigua.
La opción más sencilla sería eliminar la extensión del archivo, lo que el for
comando puede hacer por usted:
for /r %x in (*.asf) do aifdump -hr "%x" "%~dpnx"
NOTA: %~dpnx
es una concatenación de tres modificadores y proporciona la unidad, la ruta y el nombre (sin extensión) del nombre del archivo contenido en la variable x.
Respuesta2
Entonces, ¿supongo que quieres que la ruta de salida esté en el mismo lugar que el archivo fuente?
for /r %x in (*.asf) do aifdump -hr "%x" "%~dpx"
Es %~
un modificador especial, consulte for /?
. Si %x
es C:\asf\blah\bleh\file.asf
: dp
indica unidad ( C:
) y ruta ( \asf\blah\bleh\
), haciendo C:\asf\blah\bleh\
.