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
}
What’s the format of the text file?
It’s just a Notepad text file.
The confusion is that CSV is also just a Notepad text file that uses Commas to Separate Values.
They are asking about what kind of values are in it.
His example doesn’t seem to perform any comparisons to determine what to name the file. If the text file is just a list then something like this could work:
$file = Get-Content -Path .\individuals2.txt
foreach ($line in $file) { Copy-Item -Path .\template.docx -Destination “.$(2 + $line + ‘.docs’)” }
Edit: Wow, Lemmy destroys formatting.
It’s markdown, you should be able to indent your lines by 4 spaces or fence with triple backtics to get code blocks. Your client’s editor may have a button to help
Becomes
$file = Get-Content -Path .\individuals2.txt foreach ($line in $file) { Copy-Item -Path .\template.docx -Destination ".\$(2 + $line + '.docs')" }