I have a script that duplicates a Word doc template and renames each using a csv file with a list of names. What would be the equivalent code if instead of a csv file I use a text file?

Import-csv ‘.\individuals2.csv’ | foreach-object {
	$newname = ‘2 ‘ + $_.name + '.docx’
	Copy-item '.\template.docx' $newname
}
  • BobTheDestroyerOP
    link
    fedilink
    arrow-up
    1
    ·
    6 months ago

    Thanks for your help, but I had a couple errors pop up when I tried this out. I don’t need to input anything in the code you provided, do I?

    Cannot convert value "VALUE" to type "System.Int32". Error: "Input string was not in a correct format."
    At line:4 char:55
    + ... py-Item -Path .\template.docx -Destination ".\$(2 + $line + '.docs')"
    +                                                     ~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : InvalidArgument: (:) [], RuntimeException
        + FullyQualifiedErrorId : InvalidCastFromStringToInteger
    
    Copy-Item : Cannot overwrite the item FILENAME with itself.
    At line:4 char:5
    +     Copy-Item -Path .\template.docx -Destination ".\$(2 + $line + '.d ...
    +     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : WriteError: (FILENAME) [Copy-Item], IOException
        + FullyQualifiedErrorId : CopyError,Microsoft.PowerShell.Commands.CopyItemCommand