Encontre a pasta na unidade de rede, com base no nome de usuário usando o shell bash no Automator.


2

Sou novo no Automator, mas tenho um Mac há algum tempo e não sou um noob total. :)

Aqui está o meu problema: Os usuários precisam fazer um backup (para desktop) de uma pasta localizada em uma unidade de rede. O nome da pasta na unidade de rede é o mesmo que o nome de usuário curto do usuário.

Isso não é problema se o usuário selecionar a própria pasta; Eu fiz um fluxo de trabalho que faz isso. Mas eu preciso deste script para encontrar automaticamente a pasta na unidade de rede, com base no nome de usuário e copiá-lo para a área de trabalho.

Alguma idéia de como encontrar essa pasta e transmiti-la como minha variável inputfolder? Eu suponho que preciso usar um comando bash shell ou applescript no meu fluxo de trabalho?


Então, você quer fazer uma aplicação que quando é executada irá copiar uma pasta (com nome = $ USER) do caminho de rede conhecido (o que já está montado - por exemplo, o caminho existe em "/ Volumes / something" para o ~ / Desktop, certo?
jm666

É isso aí. Eu tenho tudo pronto, só preciso do comando shell para selecionar a pasta (com nome = $ USER) e passá-lo no fluxo de trabalho como uma variável (entrada) a cópia é feita posteriormente no fluxo de trabalho com: (Get value of variabel e saída), em seguida, obter o conteúdo da pasta e, finalmente, copiar itens finder)
iFuse

Respostas:


1

Com as informações fornecidas, acho que o seguinte deve funcionar (a captura de tela é a seguinte):

Executar entrada Shell Script
echo "afp://192.168.0.115/foto/"
Ignore

Obtenha servidores especificados

Conecte-se a servidores

Novo
nome da pasta : Backup
Ignore input

Definir valor da variável
variável: destino

Executar entrada Shell Script
echo "/Volumes/foto/$USER"
Ignore

Copiar itens do Finder
Para: Variável de destino (arraste a variável "Destination" da lista de variáveis ​​para o menu "To")
Marque "Replacing existing files" se necessário.

Variação para Backups Incrementais

Se você quiser backups incrementais, poderá substituir os Itens do Localizador de Cópia pela Nova Pasta Datada , definindo também seu Destino para a variável Destino e configurando a opção "Ação com itens passados" para "Duplicar itens passados ​​para a nova pasta". Certifique-se de digitar algo no campo "Nome", caso contrário, não funcionará. Para manter os backups listados em ordem cronológica, você pode definir o formato como Ano-Mês-Dia e marcar as seguintes opções: "Liderando zero para o dia", "Líder zero mês" e "Mês como número".

Captura de tela do fluxo de trabalho do Automator, conforme descrito acima


0

Finalmente você contou o que fez. Agora precisa saber qual é o resultado após o seu 3.Connect to Servers. Porque o caminho depende disso.

Verifique a próxima captura de tela, a conexão retorna /Volumes/minidatae o script adiciona apenas a fotopeça.

captura de tela do automator


ok, não está funcionando. O script Shell funciona, e parece se passar como uma variável. Mas! quando eu chamo a variável mais tarde no fluxo de trabalho, nada acontece? não chama o caminho. maby o caminho está escrito errado? : echo "/afp:192.168.0.115/foto/$USER" Eu gostaria de postar fotos do meu fluxo de trabalho, mas não sou permitido desde que sou novo aqui.
iFuse

também tentei: echo "afp: 192.168.0.115/foto/$USER"
iFuse

Até tentei uma pasta local, a mesma coisa. O script de shell deve funcionar exatamente como Get Specified Finder Items.
iFuse

como você pode ver, todas as ações foram aprovadas ok, e a pasta foi copiada para o may Desktop - assim, tente ser mais exato FROM WHERE quer copiar? Eu já te perguntei do que o PATH IS IN / Volumes. Está dentro? ou você não tem um fs montado?
jm666

Então você quer montar a unidade de rede primeiro?
jm666
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.