2013-11-08 3 views
0

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

Это сценарий, я использую:

dir | rename-item -newname {  
     [System.IO.Path]::GetFileNameWithoutExtension($_.name).Replace("."," ") + 
     [System.IO.Path]::GetExtension($_.name); } 

Бест,

Connor

ответ

1

попробовать использовать что-то вроде dir -recurse

0

Вы можете сделать рекурсивный поиск (поиск подпапок) используя переключатель -Recurse для dir/Get-ChildItem.

Я также хотел бы предложить использовать Powershell свойства вместо [System.IO.Path] функций:

$_.BaseName  #Filename without extension 
$_.Extension #File-extension 
0
Get-ChildItem -Recurse | Where-Object { $_.PSIsContainer -eq $false } | Rename-Item -NewName { $_.Basename.replace("."," ") + $_.Extension } 

Вот как я бы это сделать.

Смежные вопросы