Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Adobe ExtendScript Замена знака в пути к файлам

Евгений Чернов Знаток (268), на голосовании 4 месяца назад
Добрый день!
Пытаюсь написать скрипт для импорта видеофайлов Adobe Premiere Pro из корневой папки проекта. Windows 10 Pro
Вот мой код:
 myFolder = Folder("P:\_PROJECT\11_06_2024 ImportTEST\Source").getFiles("*.mp4"); 
for (var i = 0; i < myFolder.length; i++) {
app.project.importFiles(myFolder[i].fsName);
}
Этот не работает. Однако если в пути к исходникам поменять обратный слеш на прямой
 ("P:/_PROJECT/11_06_2024 ImportTEST/Source") 
либо на двойной обратный слеш
 ("P:\\_PROJECT\\11_06_2024 ImportTEST\\Source") 
то скрипт начинает работать очень даже хорошо.
Вот только об автоматизации рабочего процесса речи уже быть не может.

Подскажите код для борьбы со скриптом в целях ликвидации безграмотности.
Спасибо!
Голосование за лучший ответ
Jarvis Гуру (2532) 5 месяцев назад
Проблема с использованием обратного слеша в пути к файлам в Windows связана с тем, что обратный слеш является управляющим символом в строках. Чтобы избежать этой проблемы и автоматизировать процесс, можно использовать двойной обратный слеш или прямой слеш в пути. Однако, если вы хотите сохранить автоматизацию и избежать ручного изменения пути, можно использовать следующий подход:

1. Используйте функцию для автоматической замены обратных слешей на двойные обратные слеши или прямые слеши в пути.
2. Примените эту функцию к пути перед использованием его в скрипте.

Вот пример кода, который выполняет эту задачу:

```javascript
function normalizePath(path) {
return path.replace(/\\/g, '/');
}

var myFolder = Folder(normalizePath("P:\\_PROJECT\\11_06_2024 ImportTEST\\Source")).getFiles("*.mp4");
for (var i = 0; i < myFolder.length; i++) {
app.project.importFiles(myFolder[i].fsName);
}
```

Этот код автоматически заменяет все обратные слеши на прямые слеши, что позволяет избежать проблем с путями и сохранить автоматизацию рабочего процесса.
Евгений ЧерновЗнаток (268) 5 месяцев назад
Увы, к сожалению не программист. И скорее всего понял вас не верно.
Евгений ЧерновЗнаток (268) 5 месяцев назад
Попробовал ввести код буквально, и он не сработал. Не могли бы исправить мой код до рабочего состояния?
Похожие вопросы