Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
 Аватар для ShmelVG
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269

Записать букву r в начало имени файла

04.01.2019, 22:14. Показов 1974. Ответов 4

Студворк — интернет-сервис помощи студентам
Получить список всех файлов .doc и .docx в заданном пользователе каталогом, если файл имеет readonly = true снять этот атрибут и записать букву r в начало имени файла

Снимает галку, но не знаю как переименовать.
PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
'Укажите каталог'
#переменная для хранения пути 
$Path = Read-Host 
 
$varible = Get-ChildItem $Path *.doc | % { $_.IsReadOnly=$false } | % { $varible.Insert(1, "r") } 
 
#if ($varible.IsReadOnly -eq $true)  
#{ 
#    $varible.IsReadOnly=$false
#    $string.Insert(1, "r")
#}
 
$varible
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.01.2019, 22:14
Ответы с готовыми решениями:

Добавить букву к имени файла
Здравствуйте, помогите пожалуйста создать Командный файл: В каталоге указанном в качестве параметра во всех файлах с расширением указанном...

Записать имя каждого текстового файла в начало каждой строки этого же файла (кодировка файлов — UTF-8)
Подскажите программу или батник. Проблема в том, что есть много TXT UTF-8 файлов, нужно взять имя файла и поместить его в начало каждой...

Записать данные в начало файла
Здравствуйте. Не могли бы вы подсказать еще один вопрос. В файл у меня записывается некоторый текст, данные, символы, и т.д. Как...

4
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
05.01.2019, 01:14
Лучший ответ Сообщение было отмечено ShmelVG как решение

Решение

Цитата Сообщение от ShmelVG Посмотреть сообщение
Получить список всех файлов .doc и .docx в заданном пользователе каталогом, если файл имеет readonly = true снять этот атрибут и записать букву r в начало имени файла
Powershell 3.0 и выше:

PowerShell
1
2
3
$Path = Read-Host 'Укажите каталог'
 
Get-ChildItem -Path $path\* -Include *.doc,*.docx -File | Where-Object -Property IsReadOnly | Rename-Item -NewName {'r_'+$_.BaseName+$_.Extension} -Verbose -PassThru | Set-ItemProperty -Name IsReadOnly -Value $false
Добавлено через 10 минут
+ тоже, но с использованием псевдонимов:

PowerShell
1
ls $path\* -in *.doc,*.docx -file | ? IsReadOnly | ren -n {'r_'+$_.BaseName+$_.Extension} -pas -v | sp -n IsReadOnly -va $false
0
 Аватар для ShmelVG
171 / 106 / 51
Регистрация: 27.11.2015
Сообщений: 1,269
05.01.2019, 12:18  [ТС]
KDE777, вы могли бы объяснить пожалуйста, что делают свойства -Verbose -PassThru (ничего не смог найти)
0
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
05.01.2019, 17:23
Цитата Сообщение от ShmelVG
что делают свойства -Verbose -PassThru (ничего не смог найти)
А вы и не искали, ибо в справочном руководстве (about_CommonParameters) дается четкое описание предназначения параметра -Verbose, и если вкратце, то он выводит детальную информацию о протекающей операции. Что касается -PassThru его предназначение - возвращать в общий поток объект операции.
KDE777, можно было бы вместо $_.Basename+$_.Extension использовать просто $_.Name.
1
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
05.01.2019, 18:42
Цитата Сообщение от ShmelVG Посмотреть сообщение
что делают свойства -Verbose -PassThru
Добавлю к ответу greg zakharov для чего именно использованы эти ключи в моём примере:

Параметр -Verbose добавлен, чтобы на экране отображалась информация - какой файл и во что переименовывается, т.е. мы увидим какие read-only файлы были найдены и переданы Rename-Item. По умолчанию Rename-Item отрабатывает молча и без этого ключа не понять переименовалось ли что-то или просто не было найдено файлов для переименования.

А без параметра -PassThru командлет Rename-Item (по умолчанию) не передаст изменённый объект далее по конвейеру (для Set-ItemProperty).

И как справедливо заметил greg zakharov, конструкция $_.BaseName+$_.Extension в этом примере излишня, т.к. мы дописываем данные только к началу имени файла, поэтому:

PowerShell
1
2
$Path = Read-Host -Prompt 'Укажите каталог'
Get-ChildItem -Path $path\* -Include *.doc,*.docx -File | Where-Object -Property IsReadOnly | Rename-Item -NewName {'r_'+$_.Name} -PassThru -Verbose | Set-ItemProperty -Name IsReadOnly -Value $false
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.01.2019, 18:42
Помогаю со студенческими работами здесь

Записать информацию в начало файла
Есть два xml файла, как дописать информацию из одного в конец другого?

Как записать в начало файла?
Есть файл в который я записываю некоторые строки и попутно считаю их кол-во. Заранее не известно кол-во строк(записывает их пользователь)...

Как записать текст в начало файла
Подскажите как записать текст в НАЧАЛО файла при этом не перезаписывая его а дополняя не могу разобраться буду очень признателен.

Как записать данные в начало файла не уничтожая его?
Как записать данные в начало файла не уничтожая его? Вот пример могу ток записывать данные в конец файла ,а в начало нет хоть устанавливаю...

Найти сумму всех положительных чисел и записать ее в начало файла
Создать текстовый файл, содержащий числовую информацию. Найти сумму всех положительных чисел и записать ее в начало файла. Дополнительных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru