BobTheDestroyer Now • 100%
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
BobTheDestroyer Now • 100%
Just words? It's a list of names.
BobTheDestroyer Now • 100%
Oh I see. I thought only .txt files are text files.
I was trying to adjust the code so that it uses a .txt file instead of a .csv file.
BobTheDestroyer Now • 100%
It's just a Notepad text file.
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 } ```
BobTheDestroyer Now • 100%
By the way, what would be the equivalent code when using a text file for the list of names rather than a csv file?
BobTheDestroyer Now • 100%
Ah, I think that was it. Forgot about the column heading. Thanks for your help!
BobTheDestroyer Now • 100%
Just figured it out! Added '.pdf' in the second half of the command.
$names = cat "\path\to\names.txt"; $i=0; dir | % { ren $_ "$($names[$i]).pdf"; $i++ }
Thanks for all your help!
BobTheDestroyer Now • 100%
So it sort of worked in that it outputed a bunch of files with the names but with blank icons and not the Adobe icons. Powershell also had an error for each list item that looked like the following:
Rename-Item : Cannot bind argument to parameter 'NewName' because it is an empty string.
At line:1 char:86
+ ... ads\individuals.txt"; $i=0; dir | % { ren $_ "$($names[$i])"; $i++ }
+ ~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (:) [Rename-Item], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,Microsoft.PowerShell.Commands.Rena
meItemCommand
Maybe the command needs '.pdf' somewhere?
BobTheDestroyer Now • 100%
Hey this worked for me yesterday but now I'm having trouble getting it to work again. It just outputs a Word doc titled '.docx' now.
BobTheDestroyer Now • 100%
It manages to output one file titled 'name; 0++'
BobTheDestroyer Now • 100%
Actually they're all different files.
BobTheDestroyer Now • 100%
I see. Any suggestions on how to correct it?
BobTheDestroyer Now • 100%
Thanks but PS closes so I assume it ran into an error. I'm not sure why because there is the same number of files and list items. I doublechecked to make sure.
BobTheDestroyer Now • 100%
Also I had someone help with a similar task of duplicating a Word file that is renamed from a list of names found in a csv file. What would be the code when a txt file is used?
Import-csv ‘.\individuals.csv’ | foreach-object {
$newname = ‘2’ + $_.name + '.docx’
Copy-item '.\_2023 Summary Page.docx' $newname
}
BobTheDestroyer Now • 100%
Yeah it's a pretty simple task and I'm interested in getting more familiar with PS.
BobTheDestroyer Now • 100%
Thanks but I'm getting a 'Cannot create a file when that file already exists.' error. I checked the path so I am certain it is correct.
BobTheDestroyer Now • 100%
Yes I do!
BobTheDestroyer Now • 100%
Perhaps my directions were unclear. The Excel/CSV file has the new names and I want to use them to replace the default names for the PDF files.
BobTheDestroyer Now • 100%
I got rid of that task. Now it's just Task #1
BobTheDestroyer Now • 100%
I got it now!
Note: I'm a beginner to Powershell and a bit more familiar with Bash (though still a beginner for that too). *I have multiple PDF files and I want to rename each file based on a list of names found in an Excel/CSV (could be a text file if easier) file. *The list begins at the A2 cell and the A1 cell has the header 'name'. *The files are in sequential order and match the order of the list of names. Thanks for your help!
I'm a beginner to Powershell and CLI in general, but this task does not need to use either so I'm open to using other tools. I'm trying to do the following: 1. Create multiple files from a Word template. 2. Rename each file based on a list of names found in an Excel/CSV sheet. Thanks in advance!