Corrigir localização para executar este script?

0

Eu tenho um arquivo em lote da Karan.

Como corrigir a localização para executar este lote, a localização do meu arquivo é C:\proview\upload\EJ_daily_Temp .

path=c:\program files-zip;%path%
for /f "tokens=1,2 delims=_" %%i in ('dir/b *_ej.zip') do ren %%i_%%j %%i.zip
for %%i in (*.zip) do 7z x %%i -o*
    
for /r %%x in (K*.jrn) do ren "%%x" ??????+????????.jrn


for /f "delims=" %%d in ('dir /ad /b') do @rd /q /s "%%d"
    
por Dheerapong Ountantaeyanont 06.01.2013 / 15:37

1 resposta

1

Primeiro, apenas uma dica útil ... a primeira linha do seu arquivo de lote:

path=c:\program files-zip;%path%

tem um problema que pode ser adicionado continuamente ao início do caminho toda vez que você executa o arquivo em lote. Assim, você terá um "caminho" que é muito longo e se parece com:

"c:\program files-zip;c:\program files-zip;c:\program files-zip;...<original-path>". 

Se você estiver sempre executando esse arquivo em lote de um "atalho", provavelmente não será um problema. Mas se você estiver executando a partir de um "prompt de comando", então será um problema.

Para corrigir isso, você tem duas opções ...

Escolha 1: Antes de adicionar um "nome da pasta" ao caminho, primeiro verifique se "nome da pasta" já existe no caminho. Se você estiver tentando garantir que o "nome da pasta" esteja no início do caminho, primeiro verifique se o primeiro elemento do caminho já está definido como "nome da pasta".

Se precisar de ajuda sobre como verificar essas condições, deixe um comentário e fornecerei alguns exemplos.

Escolha-2: Já que você está "codificando" o caminho para o 7z no arquivo de lote, basta colocá-lo em uma variável e usar a "variável" quando quiser executar 7z, assim:

set "zrun7z=c:\program files-zipz.exe"
for %%i in (*.zip) do "%zrun7z%" x ...

Na sua pergunta, você só pergunta como definir o local como "C: \ proview \ upload \ EJ_daily_Temp". Eu suponho que você quer dizer que a pasta onde o arquivo de lote irá encontrar os arquivos "* _ej.zip" é: "C: \ proview \ upload \ EJ_daily_Temp".

Para fazer isso, você usaria o comando "CD" assim:

c:
CD C:\proview\upload\EJ_daily_Temp

ou, em um passo:

CD /D C:\proview\upload\EJ_daily_Temp

Se houver outras partes do arquivo em lote que não estão funcionando, poste um comentário para essa resposta ou edite sua pergunta. Tente fornecer mais detalhes que ajudem outras pessoas a responder sua pergunta. Descreva (se puder) onde o arquivo de lote está falhando. Descreva as coisas que estão acontecendo corretamente e as coisas que não estão acontecendo corretamente, e descreva como você quer que elas se comportem. Dê alguns exemplos do que os nomes dos arquivos ".zip" podem ser e se os nomes seguem um padrão estrito, em seguida, descreva-o. Também o mesmo para os nomes dos arquivos extraídos.

    
por 06.01.2013 / 21:50