![]() ![]() 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. 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 ( pub extension - whether those were actually working. "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. DirectoryName property on the input objects. When you change the FileInfo object, the file changes too. Instead, you get a FileInfo object that represents the file. For example, when you get a file in PowerShell, you don't get the actual file. When you change an object, you usually change the item that it represents. Name property of the group objects returned by Group-Object, which in this case is the value of the. The association between an item and its object is very close. (Note that the Name in Select-Object Name refers to the. I've been unable to replicate your issue - I threw a bunch of files (Microsoft Publisher files, public keys with a. This outputs the full path of each directory that contains at least 1 file with a matching file name. 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). I would also accept any answer that points to an alternative cmd or powershell command that effectively does the same thing. 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 |