Hello,
I am trying to use a Powershell script to use the account number in a file name and re-name with the ID number from a sql database. Below is the code I am using to attempt this and I am not getting the results I need. Please let me now if you have any suggestion or advise in getting this to work.
Thanks!!
File name = 111119999.docx
Table =
ID AccountNumber
5555 111119999
## Select Data from Database
function Select-Info($CliRef)
{
$conn = new-object System.Data.SqlClient.SqlConnection
$connstring = “provider=sqloledb;data source=[vmsvr039];initial catalog=[crs5_oltp];integrated security=SSPI”
$conn.connectionstring = $connstring
$conn.open()
$query = “Select convert(varchar,cnsmr_accnt_idntfr_agncy_id) as ID FROM cnsmr_accnt WHERE cnsmr_accnt_crdtr_rfrnc_id_txt = '$CliRef'”
$cmd = New-Object System.Data.SqlClient.SqlCommand($sql,$conn)
$cmd.connection = $conn
$cmd.commandtext = $query
$result = $cmd.executenonquery()
$conn.close()
return $query
}
## Return ID from Database
function Return-Info($CliRef)
{
$conn = New-Object System.Data.SqlClient.SqlConnection
$conn.ConnectionString = "Server=vmsvr039;Database=crs5_oltp;Integrated Security=SSPI;"
$conn.Open()
$cmd = New-Object System.Data.SqlClient.SqlCommand
$cmd.commandtext = “Select convert(varchar,cnsmr_accnt_idntfr_agncy_id) as ID FROM cnsmr_accnt WHERE cnsmr_accnt_crdtr_rfrnc_id_txt = '$CliRef'”
$cmd.connection = $conn
$result = $cmd.ExecuteScalar()
$conn.close()
return $result
}
## Collect the file names
$FiNms = Get-ChildItem H:\ps\test -Name
## Loop through each file name
foreach ($FiNm in $FiNms)
{
## Variable for current File path
$file = “H:\ps\test\” + $FiNm
## Variable for new File path
$newFile = “H:\ps\renamed\” + $FiNm
$ID = Return-Info $CliRef
$ID = $ID + “.docx”
Copy-Item $file -Destination $newFile
Rename-Item $file $ID -force
}
Rename-Item : Cannot create a file when that file already exists.
At H:\ps\rename-file.ps1:75 char:12
+ Rename-Item <<<< $file $ID -force
+ CategoryInfo : WriteError: (H:\ps\test\111119999.docx:String) [Rename-Item], IOException
+ FullyQualifiedErrorId : RenameItemIOError,Microsoft.PowerShell.Commands.RenameItemCommand