![]() Give that a shot and see if it helps - if your public keys are setup differently you can just replace the string within the quotes. ![]() This loops through c:\ and pulls out everything your for /r returns for *.pub - since this is unreliable for you for some reason, we nest it with for /f to go through those results and pull out everything that contains the string BEGIN SSH2 PUBLIC KEY, after which we echo our original parameter %%A. Through the Get-ChildItem you first need to retrieve the files with the specific extension (s) and then you need to pipeline Copy-Item command. pubs or not.įrom my limited understanding, public SSH keys always contain specific strings (I assume based on how they are generated, but I only have experience with PuTTy) - so let's try nesting a loop that uses findstr: offįor /f "delims= tokens=*" %%B in ('findstr /i /c:"BEGIN SSH2 PUBLIC KEY" "%%A"') do ( PowerShell Microsoft Technologies Software & Coding To copy the files with the specific extension, you need to use the Get-ChildItem command. I want to run the script for multiple servers and export all the list details in one CSV or excel file with the server name and the file location path as output. pub extension - whether those were actually working. I wrote a script to find the particular file on windows servers based on Disks and exported that list to a. "no.pub.txt", "thanks ok.pub", "maybe a.pub.ppk", etc.) into a bunch of folders (also included "pub", ".pub", etc.) and ran the script and it only ever returned the files with a. pub extension added to them, private keys, text files, etc. I've been unable to replicate your issue - I threw a bunch of files (Microsoft Publisher files, public keys with a. This for /r loop goes through c:\ and all subfolders of c:\, each iteration will assign a text file to parameter %A, then echo %A in the command window, or you can make it (echo %%A>sometextfile.txt) to pipe the results into a text file. I prefer for loops for this: for /r "c:\" %A in (*.txt) do (echo %A) *.ext, not *.ext*), and not produce false positives like. txt coz I thought it would be clearer and easier to test, without effecting the results.obviously I was wrong! But why? Ideally, the command that I'm searching for would work with any file extension (i.e. ![]() So the extension that I'm actually searching for is. I am trying to automate the process of setting up an SSH client, and want to search for any/all public keys that already exist on the system before I go unnecessarily creating new ones. UPDATE: Apologies for the negative comments guys, I obviously didn't test out this exact scenario properly, nor did I explain what I really want (see Mael's comment below and my replies to it). In the filename variable, specify a string that might indicate the file contains. I would also accept any answer that points to an alternative cmd or powershell command that effectively does the same thing. Open the PowerShell ISE Create a new script using the following code. ![]() So, is there any way to make gci -Path "C:\" -Recurse | where return all txt files on C:, ignoring inaccessible folders? My question is almost answered by this question answer, but the command suggested there spits out many error messages re: the inaccessibility of certain system folders when searching the entire system drive. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |