Что нового

Как изменить атрибуты любого заданного файла?

Oki

Продвинутый
Сообщения
452
Репутация
63
Как изменить атрибуты любого заданного (существующего или создаваемого) файла?

Во-первых, можно ли установить атрибуты непосредственно при создании файла? Или обязательно сначала создать файл, а лишь затем изменять его атрибуты?

Во-вторых, как обойти ограничение функции FileSetAttrib (ниже приведён код для кликабельности справки) отсутствия пробелов в имени файла (и в пути к нему), когда нет потребности работать с шаблоном, а в наличии имеется точное имя файла?
Код:
FileSetAttrib()
 
Последнее редактирование:

All2khoff

Продвинутый
Сообщения
376
Репутация
68
можно ли установить атрибуты непосредственно при создании файла?
а надо ли?
отсутствия пробелов
например воспользоваться каталогом C:\TEMP. создаешь файл, применяешь все нужные атрибуты к нему, а затем переносишь в нужное место.
ну или в данном случае можно воспользовался встроенным в ОС инструментом
в командной строке attrib /? есть аналогичный функционал.
 
  • Like
Реакции: Oki

Khaibit

Осваивающий
Сообщения
103
Репутация
25
ограничение функции FileSetAttrib (ниже приведён код для кликабельности справки) отсутствия пробелов в имени файла (и в пути к нему), когда нет потребности работать с шаблоном, а в наличии имеется точное имя файла?
В справке написано что file pattern не должен содержать пробелов, это относится только к шаблону!
Имя файла или путь может содержать пробелы, функция отработает без ошибки.
 
Автор
Oki

Oki

Продвинутый
Сообщения
452
Репутация
63
в командной строке attrib /? есть аналогичный функционал.
Он не совсем аналогичен.
например воспользоваться каталогом C:\TEMP. создаешь файл, применяешь все нужные атрибуты к нему, а затем переносишь в нужное место.
Окей, хакерское решение. Сойдёт.
Да вот в итоге придётся делать много нелогичных движений вместо одного (в случае нового файла создать файл, установить атрибуты, переименовать и переместить, а в случае старого — переименовать, переместить, установить атрибуты, снова переименовать и снова переместить). Но главная конечная цель, конечно, приведённым решением достигнута, спасибо за подсказку.
Сообщение автоматически объединено:

В справке написано что file pattern не должен содержать пробелов, это относится только к шаблону!
Имя файла или путь может содержать пробелы, функция отработает без ошибки.
Действительно, тест сработал, однако, в справке эта мысль изложена всё-таки некорректно, особенно в русском переводе, в котором подчёркнуто говорится, что речь идёт о параметре, а не о том, в каком виде он представлен (да и в английской версии формулировка ненамного корректнее, переводчик не зря так это прочёл). Напрямую этот факт протестирован только после этого ответа, который натолкнул на тесты, показавшие, что проблема была не в пробелах, а в том, что не все, к сожалению, атрибуты, перечисленные в справке, устанавливаются корректно, и это не зависит от того, есть ли пробелы в имени файла.
 
Последнее редактирование:
Верх