Applescript Copier le fichier dans un nouveau dossier
J'ai besoin de créer un AppleSript qui va copier les fichiers d'un dossier vers un dossier nouvellement créé.
Ces fichiers doivent être spécifiés dans l'éditeur AppleScript, donc quelque chose comme:
start
fileToBeMoved = "Desktop/Test Folder 1/test.doc"
newfoldername = "Test Folder 2"
make newfolder and name it 'newfoldername'
copy 'fileToBeMoved' to 'newfolder'
end
OriginalL'auteur | 2009-05-23
Vous devez vous connecter pour publier un commentaire.
Généralement:
Vous pouvez ajouter des noms de variables qui représentent POSIX fichiers et les chemins d'accès.
Évidemment le caractère deux-points (:) est un caractère réservé de dossier et des noms de fichiers.
Vous pouvez également ajouter une vérification d'erreur si le dossier de destination existe déjà.
/Volumes/Video
. J'ai essayé de créer unquoted form of POSIX path
pourVideo
,Video/Movies
,/Volumes/Video
, et/Volumes/Video/Movies
, pour les deuxcopy file
etduplicate file
, soit avecto folder
outo disk
. Aucun d'entre eux travaillaient. Tous donner le message d'erreur:execution error: Finder got an error: Can't set folder
(oudisk
)"'/Volumes/Video/Movies'" to file "'/Users/me/path/to/file.m4v'". (-10006)
OriginalL'auteur Alex Reynolds
Le truc avec AppleScript est que le déplacement de fichiers se fait à l'aide d'alias.
Plus réaliste, il peut être plus facile de faire un script shell à la place qui peut être exécuté à partir d'AppleScript à l'aide de
do shell script
si vous êtes à l'aide d'Automator ou quelque chose de similaire.Les inconvénients de cette situation sont: l'Utilisateur de ne pas voir une barre de progression si la copie prend plus de temps. L'utilisateur ne peut pas annuler, soit, pour la même raison. À l'appui de ces opérations avec une commande shell sera beaucoup plus difficile que de simplement laisser le Finder le faire. La baisse de Applescripting le Finder, cependant: Si l'utilisateur choisit d'utiliser un remplacement "Finder" de l'app, l'Applescript opération peut échouer (pas sûr à ce sujet, probablement dépend de la façon dont le remplacement est écrit).
Un autre avantage pour la à l'aide du Finder: Si l'élément de destination existe, l'utilisateur sera invité à le remplacer ou non.
OriginalL'auteur Chealion
OriginalL'auteur
Cela fonctionne pour le copier sur un volume réseau monté:
OriginalL'auteur Wilersh
OriginalL'auteur Lri
La manière la plus simple de le faire est comme ci-dessous dit
OriginalL'auteur Michael Sanders
J'ai utilisé Chealions script shell solution. N'oubliez pas de faire votre fichier de script exécutable avec:
sudo chmod u+x scriptFilename
Également supprimer l'espace entre la
=
signe dans les affectations de variables. Ne fonctionne pas avec les espaces, par exemple:newFolderName="Test Folder 2"
OriginalL'auteur Midverse Engineer
Si c'est une synchronisation que vous cherchez, vous pouvez exécuter le script suivant dans votre AppleScript:
rsync -a /Users/username/folderToBeCopiedFrom /Volumes/folderToBeCopiedTo/
OriginalL'auteur SashaZd