Problema com espaços vazios ao executar comandos de shell no AppleScript -- acos campo com applescript camp apple Relacionado O problema

Problem with empty spaces when executing shell commands in AppleScript


12
vote

problema

português

O código a seguir para limpar um diretório recursivamente não funciona porque não consigo passar o suporte de aplicativo .

  try     do shell script "rm -r ~/Library/Application Support/Google/Chrome/Default/Pepper Data/Shockwave Flash" end try    
  • Se eu usar ~/Library/Application Support/Google... nada acontece. Que é esperado.
  • se eu usar ~/Library/Application Support/Google... eu não posso salvar o script devido à mensagem de erro: Syntax Error Expected """ but found unknown token.

Como posso contornar esse erro?

english

The following code to purge a directory recursively does not work because I cannot get past the Application Support folder.

try     do shell script "rm -r ~/Library/Application\ Support/Google/Chrome/Default/Pepper Data/Shockwave Flash" end try 
  • If I use ~/Library/Application Support/Google... nothing happens. Which is expected.
  • If I use ~/Library/Application\ Support/Google... I cannot save the script due to the error message: Syntax Error Expected xe2x80x9c"xe2x80x9d but found unknown token.

How can I work around this error?

     

Lista de respostas

10
 
vote
vote
Melhor resposta
 

Tente:

  set pathwithSpaces to "/Users/John/Desktop/This is a test.docx" do shell script "rm -r " & quoted form of pathwithSpaces    
 

Try:

set pathwithSpaces to "/Users/John/Desktop/This is a test.docx" do shell script "rm -r " & quoted form of pathwithSpaces 
 
 
10
 
vote

Você tem que dobrar as barras de trás e também escapar dos outros espaços:

  do shell script "rm -r ~/Library/Application\ Support/Google/Chrome/Default/Pepper\ Data/Shockwave\ Flash"    

ou escapar do caminho de outra maneira:

  do shell script "rm -r ~/'Library/Application Support/Google/Chrome/Default/Pepper Data/Shockwave Flash'"    

quoted form of substitui ' com ''' e rodeia a string com citações simples, para que não funcione com caminhos que começam com ~/ .

 

You have to double the backslashes and also escape the other spaces:

do shell script "rm -r ~/Library/Application\\ Support/Google/Chrome/Default/Pepper\\ Data/Shockwave\\ Flash" 

or escape the path some other way:

do shell script "rm -r ~/'Library/Application Support/Google/Chrome/Default/Pepper Data/Shockwave Flash'" 

quoted form of replaces ' with '\'' and surrounds the string with single quotes, so it doesn't work with paths that start with ~/.

 
 
4
 
vote
  do shell script "open -n /Applications/App\ Store.app"    

Lidar com o space com \ .

Por exemplo, substitua App Store.app com do shell script "rm -r ~/'Library/Application Support/Google/Chrome/Default/Pepper Data/Shockwave Flash'" 0 .

 
do shell script "open -n /Applications/App\\ Store.app" 

Handle the space with \\.

For example replace App Store.app with App\\ Store.app.

 
 

Perguntas relacionadas

3  Possível automatizar a entrada de classificações de estrelas e play contagens para música idêntica / duplicada no iTunes?  ( Possible to automate entering star ratings and play counts for identical duplica ) 
Estou no processo de substituição de minha baixa qualidade e lt; 192 kpbs mp3s em arquivos MP3 ou ALAC de 320 KPBS no iTunes. Agora, minha rotina é importar...

3  Usando Automator ou AppleScript para criptografar / descriptografar com OpenSSL  ( Using automator or applescript to encrypt decrypt with openssl ) 
Eu gostaria de saber como usar o Automator ou o AppleScript para criar uma gota que comprima / descompactar (tar.gz) e criptografar / descriptografar com arqu...

0  Convertendo Ação Automático no AppleScript para Bash Script  ( Converting automator action in applescript to bash script ) 
Acabei de escrever um aplicativo automático usando o AppleScript (junto com algumas linhas de bash) para iniciar o FTP com um único clique. No entanto, corre ...

0  Como posso copiar arquivos para uma unidade montada usando o AppleScript?  ( How can i copy files to a mounted drive using applescript ) 
De que maneira posso copiar pastas para casa (documentos, imagens, filmes, etc ...) para uma unidade montada sem usando a função posix no AppleScript? < /...

1  AppleScript para comparar duas listas de domínios e eliminar duplicatas  ( Applescript to compare two lists of domains and eliminate duplicates ) 
Eu tentei fazer isso com o Automator e achei ... falta. Eu tentei procurar soluções em todos os lugares que eu possa pensar, mas minhas pesquisas continuam me...

4  Monte automaticamente uma unidade de rede e copie um arquivo para uma pasta de rede (AppleScript)  ( Automatically mount a network drive and copy a file to a network folder applesc ) 
Eu tenho uma tarefa bastante complexa para resolver. Eu não uso o OS X, mas agora eu tenho que fornecer alguns colegas com um aplicativo simples que copia aut...

0  Expandir o envio de email com o AppleScript  ( Expand sending email with applescript ) 
Eu li com interesse o artigo sobre o envio de um email com base na análise por meio de um arquivo CSV para pegar o nome e endereço de e-mail. Isso parece que ...

5  Um método programático para desativar todos os serviços de compartilhamento?  ( A programmatic method for disabling all sharing services ) 
Estou buscando um método programático para desabilitar todos os serviços de compartilhamento em um Mac. Minha preferência é para um AppleScript ou um script d...

8  Convertendo HTML para PDF usando o Convert Utility no Mac OS X  ( Converting html to pdf using convert utility in mac os x ) 
Estou tentando converter um monte de arquivos HTML em arquivos PDF. Estou à procura de uma solução automatizada para que não precise abrir cada arquivo HTML i...

0  No AppleScript ao inserir a senha, é necessário um clique  ( In applescript when entering password is a click required ) 
Estou escrevendo um AppleScript para alternar / desligar uma conexão VPN para um computador. Eu tenho coisas mais ou menos trabalhando, no entanto, tenho qu...




© 2022 pergunte.org All Rights Reserved. Casa de perguntas e respostas todos os direitos reservados


Licensed under cc by-sa 3.0 with attribution required.