Powershell no Windows

0

Eu executo um arquivo bat a partir do prompt de comando passando 2 nomes completos (isto é para PGP) e ele roda bem.

Quando executo o mesmo arquivo bat do Powershell passando os mesmos nomes, ele é executado e produz a saída, mas fornece uma mensagem "O sistema não pode encontrar o caminho especificado".

no cmd:

mybatfile.bat e:\dirname\filename.ext  e:\dirname\filename.ext

No PS:

./mybatfile e:\dirname\filename.ext  e:\dirname\filename.ext

o arquivo bat é assim:

@echo off
c:
cd users\username
set inputfile=%1
set outputfile=%2

pgp --encrypt %inputfile% --recipient keyid --output %outputfile% --overwrite remove
    
por Adesh S. 23.01.2017 / 16:34

1 resposta

0

Eu acho que sua culpa é não dar um caminho absoluto, então se sua pasta atual estiver em algum lugar mais profundo na unidade c :, seu cd tenta fazer o cd de lá para a pasta users \ username que não está lá. BTW, você deve sempre dar aspas duplas, possivelmente contendo espaços ou outros caracteres venenosos.

@echo off
cd /D "C:\users\username"
set "inputfile=%~1"
set "outputfile=%~2"

pgp --encrypt "%inputfile%" --recipient keyid --output "%outputfile%" --overwrite remove
    
por 23.01.2017 / 18:23