Bonjour à tous,
Je me permets de faire appel à vos connaissances pour une broutille... j'ai le script Photoshop suivant qui ouvre un prompt permettant de choisir un dossier source au lancement dudit script :
Code :
- // Import Folder as Layers - Adobe Photoshop Script
- // ============================================================================
- // enable double-clicking from Mac Finder or Windows Explorer
- // this command only works in Photoshop CS2 and higher
- #target photoshop
- // bring application forward for double-click events
- app.bringToFront();
- ///////////////////////////////////////////////////////////////////////////////
- // main - main function
- ///////////////////////////////////////////////////////////////////////////////
- function main() {
- // user settings
- var prefs = new Object();
- prefs.sourceFolder = '~'; // default browse location (default: '~')
- prefs.removeFileExtensions = true; // remove filename extensions for imported layers (default: true)
- prefs.savePrompt = false; // display save prompt after import is complete (default: false)
- prefs.closeAfterSave = false; // close import document after saving (default: false)
- // prompt for source folder
- var sourceFolder = Folder.selectDialog('Please select the folder to be imported:', Folder(prefs.sourceFolder));
- // ensure the source folder is valid
- if (!sourceFolder) {
- return;
- }
- else if (!sourceFolder.exists) {
- alert('Source folder not found.', 'Script Stopped', true);
- return;
- }
- // add source folder to user settings
- prefs.sourceFolder = sourceFolder;
- // get a list of files
- var fileArray = getFiles(prefs.sourceFolder);
- // if files were found, proceed with import
- if (fileArray.length) {
- importFolderAsLayers(fileArray, prefs);
- }
- // otherwise, diplay message
- else {
- alert("The selected folder doesn't contain any recognized images.", 'No Files Found', false);
- }
- }
- ///////////////////////////////////////////////////////////////////////////////
- // getFiles - get all files within the specified source
- ///////////////////////////////////////////////////////////////////////////////
- function getFiles(sourceFolder) {
- // declare local variables
- var fileArray = new Array();
- var extRE = /\.(?:png|gif|jpg|bmp|tif|psd)$/i;
- // get all files in source folder
- var docs = sourceFolder.getFiles();
- var len = docs.length;
- for (var i = 0; i < len; i++) {
- var doc = docs[i];
- // only match files (not folders)
- if (doc instanceof File) {
- // store all recognized files into an array
- var docName = doc.name;
- if (docName.match(extRE)) {
- fileArray.push(doc);
- }
- }
- }
- // return file array
- return fileArray;
- }
- [...]
|
Sauf que ce prompt m'emmerde profondément puisqu'il m'est inutile : mon dossier source sera invariablement le même, admettons c
dossier1 pour l'exemple. N'ayant aucune notion de JS, je rends bien compte que c'est sûrement un truc enfantin, mais si quelqu'un pouvait me donner la réponse...
A votre bon cœur, merci
---------------
Perseverare diabolicum