![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Переименование XML по содержанию файла. |
|
PowerShell - [решено] Переименование XML по содержанию файла.
|
Новый участник Сообщения: 7 |
подскажите как переименовать папку xml файлов по определенному xpath.
Cls $OriginalLocation = "C:\xml\" $AddressXPath = "/Extract/ReestrExtract/ExtractObjectRight/ExtractObject/ObjectDesc/Address/Content" if (Test-Path($OriginalLocation)) { Select-Xml -Path (Get-ChildItem -Recurse -Path $OriginalLocation -Include @("*.xml") | where {! $_.PSIsContainer}) -Xpath $AddressXPath | ForEach-Object -Process { $Address = $_.Node.InnerText.ToString() $OriginalFullname = $_.Path $NewFilename = $Address + ".xml" Rename-Item -Path $OriginalFullname -NewName $NewFilename -Verbose } } Rename-Item : Процесс не может получить доступ к файлу, так как этот файл занят другим процессом. строка:8 знак:12 + Rename-Item <<<< -Path $OriginalFullname -NewName $NewFilename -Verbose + CategoryInfo : WriteError: (C:\xml\1 - копия.xml:String) [Rename-Item], IOException + FullyQualifiedErrorId : RenameItemIOError,Microsoft.PowerShell.Commands.RenameItemCommand |
|
Отправлено: 11:51, 15-08-2017 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать Скачать handle - https://docs.microsoft.com/en-us/sys...wnloads/handle и посмотреть, какой процесс держит файл.
|
Отправлено: 12:09, 15-08-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать если перед переименованием вставить строчку & 'D:\handle.exe' -nobanner "C:\xml\1.xml" то
powershell.exe pid: 5636 type: File 3B8: C:\xml\1.xml ПОДРОБНО: Выполнение операции "Переименование файла" над целевым объектом "Элемент: C:\xml\1.xml Назначение: C:\xml\ул Чайковского, д 15, кв 67.xml". Rename-Item : Процесс не может получить доступ к файлу, так как этот файл занят другим процессом. строка:8 знак:12 + Rename-Item <<<< -Path $OriginalFullname -NewName $NewFilename -Verbose + CategoryInfo : WriteError: (C:\xml\1.xml:String) [Rename-Item], IOException + FullyQualifiedErrorId : RenameItemIOError,Microsoft.PowerShell.Commands.RenameItemCommand |
Отправлено: 12:59, 15-08-2017 | #3 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать $OriginalLocation = "C:\xml\" $AddressXPath = "/Extract/ReestrExtract/ExtractObjectRight/ExtractObject/ObjectDesc/Address/Content" if (Test-Path $OriginalLocation) { $obj = Select-Xml -Path (Get-ChildItem -Recurse -Path $OriginalLocation -Include @("*.xml") | where {! $_.PSIsContainer}) -Xpath $AddressXPath | Select Path,@{n="Address";e={$_.Node.InnerText.ToString()}} foreach($i in $obj) { Rename-Item -Path $i.Path -NewName $i.Address -Verbose } } |
Отправлено: 13:20, 15-08-2017 | #4 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать спасибо большое. подскажите еще как сделать чтоб расширение xml добавлял. а то сейчас просто адресс без расширения.
|
|
Отправлено: 13:26, 15-08-2017 | #5 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать |
Отправлено: 13:29, 15-08-2017 | #6 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать а можно чтобы символы запрещенные в имени файлов заменялись на тире. а то они не переименовываются.
|
Отправлено: 09:48, 18-01-2018 | #7 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать |
Отправлено: 09:59, 18-01-2018 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Kazun:
|
|
Отправлено: 10:07, 18-01-2018 | #9 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Цитата Kazun:
cls $OriginalLocation = "C:\xml\" $AddressXPath = "/Extract/ReestrExtract/ExtractObjectRight/ExtractObject/ObjectDesc/Address/Content" if (Test-Path $OriginalLocation) { $obj = Select-Xml -Path (Get-ChildItem -Recurse -Path $OriginalLocation -Include @("*.xml") | where {! $_.PSIsContainer}) -Xpath $AddressXPath | Select Path,@{n="Address";e={$_.Node.InnerText.ToString()}} foreach($i in $obj) { Rename-Item -Path $i.Path -NewName "$($i.Address).xml" -Verbose } } |
|
Последний раз редактировалось Tpyna4ek, 24-01-2018 в 14:23. Отправлено: 12:52, 19-01-2018 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Переименование файла по маске. | Damien_here | Скриптовые языки администрирования Windows | 5 | 13-06-2017 12:51 | |
VBS/WSH/JS - Переименование файла по условиям | bombording | Скриптовые языки администрирования Windows | 1 | 24-03-2014 16:17 | |
VBS/WSH/JS - [решено] Перенос файла по содержанию | Vertolet | Скриптовые языки администрирования Windows | 9 | 02-10-2013 02:40 | |
CMD/BAT - [решено] Переименование файла по данным из самого файла | dark-------13 | Скриптовые языки администрирования Windows | 11 | 21-04-2011 18:08 | |
[решено] проверка XML-файла на соответствие XML schema в IE 6 и Firefox 2 | dimait | Вебмастеру | 4 | 23-08-2007 02:02 |
|