como criar uma pasta com o mesmo nome de um arquivo no prompt de comando (subpastas recursivas)

como criar uma pasta com o mesmo nome de um arquivo no prompt de comando (subpastas recursivas)

Ok, tenho mais de 15.000 arquivos para os quais preciso fazer isso.
Eu tentei isso, meu diretório raiz é C:\asf> o comando:for /r %x in (*.asf) do aifdump -hr "%x" "%CD%"

mas os arquivos estão indo para o meu diretório raiz e estão sendo sobrescritos,
a sintaxe para aifdump é aifdump.exe [Opção] [ASF_path] [Texture_dump_path] qualquer método para corrigir este problema está ok, mesmo se você usar python ou similar, obrigado por sua ajuda

aqui está um exemplo se você precisar trabalhar com ele:http://www.mediafire.com/?e9jwa3tkedilcy5

obrigado por sua ajuda Michael e Bob. quando executo o comando ele faz isso

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

e então o aifdump irá travar. descobri que se eu criar a pasta de saída antes

executando o comando, ele funcionará, então como eu retrabalharia o comando para fazer

os diretórios necessários antes de executar o comando para aifdump.

Eu descobri que só tive que mudar aifdump -hrparamkdir

Mais uma vez, muito obrigado pela sua ajuda

Responder1

%CD%sempre retornará o diretório que você estava atual quando executou o comando; neste caso é C:\asf'. Se eu interpretar o que você está perguntando, você quer que cada um deles vá para um diretório separado? Nesse caso, você só precisa criar esse nome de diretório em seu comando.

Observe, no entanto, que vocênão podeter um arquivo e uma pasta com o mesmo nome e mesmo caminho pai; por exemplo, se você tivesse um arquivo chamado C:\asdf\asdf.asf, vocênão podetambém crie uma pasta nomeada C:\asdf\asdf.asfporque o caminho seria ambíguo.

A opção mais fácil seria retirar a extensão do arquivo, o que o forcomando pode fazer por você:

for /r %x in (*.asf) do aifdump -hr "%x" "%~dpnx"

NOTA: %~dpnxé uma concatenação de três modificadores e fornece a unidade, o caminho e o nome (sem extensão) do nome do arquivo contido na variável x.

Responder2

Então, acho que você deseja que o caminho de saída esteja no mesmo lugar que o arquivo de origem?

for /r %x in (*.asf) do aifdump -hr "%x" "%~dpx"

O %~é um modificador especial, consulte for /?. Se %xfor C:\asf\blah\bleh\file.asf: dpindica unidade ( C:) e caminho ( \asf\blah\bleh\), fazendo C:\asf\blah\bleh\.

informação relacionada