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 cdossier1 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