a partir de um arquivo CSV de nomes de arquivos, localizar e abrir vários arquivos em uma pasta (ou sub-pastas)

StackOverflow https://stackoverflow.com/questions/1046820

  •  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.

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top