Corrigir local para executar este script?


0

Eu tenho um arquivo em lotes de Karan.

Como corrigir o local para executar este lote, é o local do meu arquivo C:\proview\upload\EJ_daily_Temp.

path=c:\program files\7-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"

2
É um pouco difícil sugerir como corrigir o código se você não nos disser o que o código deve fazer e como não está funcionando.
dbenham

Respostas:


1

Primeiro, apenas uma dica útil ... a primeira linha do seu arquivo em lotes:

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

tem um problema que pode ser adicionado continuamente ao início do caminho toda vez que você executa o arquivo em lotes; portanto, você terá um "caminho" muito longo e com a seguinte aparência:

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

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

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

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

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

Escolha 2: Como você está "codificando" o caminho para o 7z no arquivo em lotes, basta colocá-lo em uma variável e usar a "variável" quando desejar executar o 7z, assim:

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

Na sua pergunta, você pergunta apenas como definir o local como "C: \ proview \ upload \ EJ_daily_Temp". Suponho que você queira dizer que a pasta onde o arquivo em lotes encontrará os arquivos "* _ej.zip" é: "C: \ proview \ upload \ EJ_daily_Temp".

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

c:
CD C:\proview\upload\EJ_daily_Temp

ou, em uma etapa:

CD /D C:\proview\upload\EJ_daily_Temp

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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.