a partir de um arquivo CSV de nomes de arquivos, localizar e abrir vários arquivos em uma pasta (ou sub-pastas)
-
20-08-2019 - |
Pergunta
Cada pasta câmera tem muitos milhares de fotos, eu preciso abrir 20 ou mais arquivos específicos que poderiam ser localizados em qualquer um ou mais pastas, tudo dentro de uma pasta 'root':
Fotos
| - cameraâ
| - Camerab
| - CameraC
Eu gostaria de colar um CSV dos nomes de arquivo (por exemplo, 6504, 6505, 8902, 4501) em um AppleScript (ou, de preferência, se Applescript poderia me levar para a entrada?), Executá-lo, e os arquivos abertos no Photoshop. É tedioso para procurar um arquivo de cada vez em destaque!
Eu localizei os scripts de pesquisa para um único arquivo, um script para arquivos abertos no Photoshop, mas estou sem esperança em arrays e loops, assumindo applescript pode fazer isso.
Solução
Você realmente precisa que ele seja um AppleScript, especificamente? É mais fácil com o script shell se você me perguntar:
for f in 6504 6505 8902 4501; do find . -name "$f" -exec open -a "Photoshop" {} \;; done
Quando os números são substituídos por seus nomes de arquivos desejados e "Photoshop" é substituído pelo nome real do seu aplicativo Photoshop no disco ( "Photoshop CS" ou qualquer outro).
Outras dicas
ok, eu tive um funileiro e veio com uma meia-AppleScript meia ShellScript que se expande sobre o acima. Congratulo-me com os comentários:)
Isso funciona, solicitando nomes de arquivos parciais (separados por um espaço), encontrando mais alto janela do Finder para obter a localização da pasta atual (pasta raiz para pesquisa em), usa uma Shell para adicionar estrelas para as consultas de pesquisa (parciais nomes de arquivos em vez de cheia), execute comando find a partir da pasta 'root' que já temos aberto no Finder. arquivos encontrados são abertos no Photoshop.
tell application "Finder"
try
activate
beep 1
display dialog "Enter your image search:" default answer ""
set dialogInfo to result
set imgquery to text returned of dialogInfo
set frontWin to folder of front window as string
set frontWinPath to (get POSIX path of frontWin)
tell application "Terminal"
activate
set starredImgQuery to do shell script "echo " & quoted form of imgquery & " | sed 's/ /\\* */g'"
set starredImgQuery to "*" & starredImgQuery & "*"
do shell script "cd \"" & frontWinPath & "\";for f in " & starredImgQuery & "; do find . -name \"$f\" -exec open -a \"/Applications/Adobe Photoshop CS4/Adobe Photoshop CS4.app\" {} \\;; done"
end tell
tell application "Terminal" to quit
on error error_message
beep
display dialog error_message buttons ¬
{"OK"} default button 1
end try
end tell
comandos shell são grandes !!
Hmmm, código não funciona para mim agora!
entrou em pânico e procurou em torno de um "pesquisa booleana holofotes" - e encontrou EasyFind! Freeware através de tecnologias Devon: http://www.devon-technologies.com/products/freeware/index. html
Mais rápido para trabalhar e mais fácil de se adaptar, e ele funciona para pesquisas booleanas como acima, encontrar a pasta raiz, e boolean pesquisa: 6504 ou 6505 ou 8902 ou 4501