String.AbbreviateFilePath
Описание
Возвращает сокращенный путь к файлу учитывая заданное максимальное количество символов.
Если путь к файлу превышает максимальное число символов, названия папок будут удалены из пути с правой стороны, пока его длина не станет меньше указанного количества символов.
Это удаление будет заменено на "...".
Примечание: Имя файла не может быть сокращено, поэтому если путь, включая и имя файла, превышает максимальное число символов, сокращение будет как можно более близким к этому числу.
Например: String.AbbreviateFilePath("C:\\Program Files\\AutoPlay Media Studio X\\Readme.htm",37); Возврат: C:\Program Files\...\Readme.htm Поскольку этот путь наименьший путь, который не превышает в длину заданные 37 символов. ПараметрыFilePath
(строка) Путь файла что нужно сократить.
Characters
(число) Максимальное количество символов, используемых в сокращенном пути.
ВозвратResultVariable
(строка) Новый путь файла с учетом указанного числа символов. Можно использовать действие Application.GetLastError для определения случился ли отказ в работе этого действия и почему.
При добавлении действия из редактора скрипта, можно использовать это поле для определения переменной, которая возвращает значение, сохраняющееся в ней.
Смотрите также: Связанные действия
ПримерыПример 1internal_path = "c:\\windows\\system32\\drivers\\ta_da\\foldername\\driver.vxd"; display_path = String.AbbreviateFilePath(internal_path, 30);Конвертируем длинный внутренне используемый путь в более приемлемый формат для показа пользователю (c:\windows\...\driver.vxd) Пример 2
-- callback function for File.Delete action
-- возвращающаяся функция для действия File.Delete
function DeleteCallBack(source, deleted, total)
-- set the message and status text
-- задаем сообщение и текст состояния
StatusDlg.SetMessage("Delete: " .. String.AbbreviateFilePath(source, 10));
StatusDlg.SetStatusText("File " .. deleted .. " of " .. total .. ".");
-- show the cancel button
-- показываем кнопку Отмена
StatusDlg.ShowCancelButton(true, "Cancel");
-- check if the cancel button was pressed
bCancel = StatusDlg.IsCancelled();
-- if the cancel button was pressed, return false, else return true.
-- если кнопка Отмена была нажата, возвращаем значение ложь (false), иначе возвращаем значение истина (true).
if bCancel then
return false;
else
return true;
end
end
-- show the status dialog
-- показываем диалоговое окно состояния
StatusDlg.Show();
-- delete all files in folder c:\temp, using the DeleteCallBack function
-- удаляем все файлы в папке c:\temp, используя функцию DeleteCallBack
File.Delete("c:\\temp\\*.*", true, true, true, DeleteCallBack);
-- Hide the status dialog
-- Скрываем диалоговое окно состояния
StatusDlg.Hide();
Удаляем все файлы и папки из c:\temp, и используем возвращающуюся функцию для показа состояния пользователю.
Смотрите также: Связанные действия
|