Powershell: How to rename all files in a folder

Powershell Header

Sometimes you need a fast way to rename a lot of file. With Powershell this is pretty easy. You list all files in the directory and you can use this object with a foreach loop.

This script basically changes the extension from .JPEG to .jpg:

$files = Get-Content
foreach ($file in $files) {
	$newFileName=$file.name.replace(".JPEG",".jpg")
	Rename-Item $file $newFileName
}

Solved: Cannot download File from IIS6 FTP

Today we a ticket which was escalated by the second level support to the engineering. A customer could not download, remove or rename the file via FTP. The Hosting is running on a Windows Server 2003 R2 with IIS6. After checking the file on the filesystem I saw that the filename had a space in before.

Normalfilename:

“filename.html”

Wrongfilename:

” filename.html”

You cannot really name a file like that with a windows machine. But Linux and Unix systems like Mac OS X allow this.

After renaming the file to a normal Windows filename, the customer you download the file again.

Btw you can simple rename the file with powershell

Rename-Item " filename.html" "newfilename.html"