Como eu substituo os itens da variável PATH Environment para aspas duplas que possuem espaços?

1

Estou procurando um comando curto que eu possa executar no shell de comando do Windows 10 ( cmd ) ou em powershell ou em git-bash para Windows, o que substituiria PATH Environment variable itens para aspas duplas tem espaços?

O problema real que eu enfrento é que quando eu digito um comando no git-bash

$ sfdx force:org:create -s -f config/project-scratch-def.json -a "default scratch org"

Eu recebo um erro

'C:\Program' is not recognized as an internal or external command,
operable program or batch file.

Achoqueesseerroaconteceporqueaferramentasfdxestálocalizadaem"C: \ Arquivos de programas \ CLI \ bin do Salesforce \ bin" e provavelmente deve ser duplamente citada no caminho, se eu não estiver errado.

Então, quando executo o comando path em cmd , vejo

D:\Git\SFDX\MySFDXProject>path
PATH=C:\Python27\;C:\Ruby23\bin;C:\Program Files\Salesforce CLI\bin

então eu acho que C:\Program Files\Salesforce CLI\bin deve ser duplamente citado no caminho, mas eu quero colocar aspas duplas em massa em qualquer item do caminho que tenha espaços no caminho para que qualquer outro comando não falhe.

Então, se meu caminho for C:\Python27\;C:\Ruby23\bin;C:\Program Files\Microsoft VS Code\bin;C:\Program Files\Salesforce CLI\bin , quero que ele seja transformado por comando em C:\Python27\;C:\Ruby23\bin;"C:\Program Files\Microsoft VS Code\bin";"C:\Program Files\Salesforce CLI\bin" e para ser salvo na variável de ambiente PATH.

Como faço isso?

    
por Patlatus 14.06.2018 / 19:58

1 resposta

0

Crie um arquivo que altere o caminho, crie um processo filho, chame o comando sfdx no processo filho e imprima o resultado. Por exemplo:

// env-change.js
process.env.path=process.env.path.replace(/Program Files/g,'"Program Files"');
const { exec } = require('child_process');

function result(err, stdout, stderr){
  if (err) {
    console.error(err);
    return;
  }
  console.log(stdout);
  console.log(process.env.path);
}

exec('sfdx force:org:create -s -f config/project-scratch-def.json -a "default scratch org"', result);

Em seguida, execute da seguinte forma:

node env-change.js

Referências

por 30.10.2018 / 19:33