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
}
You are viewing a single thread.
View all comments View context
1 point

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
permalink
report
parent
reply

Programming

!programming@beehaw.org

Create post

All things programming and coding related. Subcommunity of Technology.


This community’s icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

Community stats

  • 154

    Monthly active users

  • 228

    Posts

  • 1.4K

    Comments