OSDev.org

The Place to Start for Operating System Developers
It is currently Mon Dec 04, 2023 3:18 am

All times are UTC - 6 hours




Post new topic Reply to topic  [ 8 posts ] 
Author Message
 Post subject: PowerShell what is this I don't even
PostPosted: Thu Aug 03, 2023 8:32 am 
Offline
Member
Member
User avatar

Joined: Mon May 22, 2017 5:56 am
Posts: 760
Location: Oscillating between two different potentials
Code:
PS Z:\src\puzzles-20230801.0dd0186> dir .\keen.c .\unequal.c .\towers.c
Get-ChildItem : A positional parameter cannot be found that accepts argument '.\towers.c'.
At line:1 char:1
+ dir .\keen.c .\unequal.c .\towers.c
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Get-ChildItem], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand

... what. :lol:

I was not expecting this. I've seen START refuse multiple arguments in this way, but I just assumed START was poorly implemented. I never expected DIR to refuse multiple arguments too! I suppose there must be a way to get DIR to list N named files in a directory, but this simple obvious and traditional way is not it. CMD.EXE's DIR accepts multiple arguments, it's just PowerShell's DIR which refuses them. Oh, I wonder, does PowerShell have a list syntax?

_________________
[Kaph — A set of system ideals] [Pichiciego — A slightly quirky bootable Forth]
"May wisdom, fun, and the greater good shine forth in all your work." — Leo Brodie


Top
 Profile  
 
 Post subject: Re: PowerShell what is this I don't even
PostPosted: Thu Aug 03, 2023 7:18 pm 
Offline
Member
Member

Joined: Mon Mar 25, 2013 7:01 pm
Posts: 4941
eekee wrote:
I never expected DIR to refuse multiple arguments too!

The error message gives away the secret: there's no "dir" command in PowerShell. You're actually using the Get-ChildItem cmdlet!

eekee wrote:
Oh, I wonder, does PowerShell have a list syntax?

Indeed it does, although in PowerShell they're called arrays. Insert commas between your file names to turn them into an array.


Top
 Profile  
 
 Post subject: Re: PowerShell what is this I don't even
PostPosted: Sat Aug 05, 2023 1:03 pm 
Offline
Member
Member
User avatar

Joined: Mon May 22, 2017 5:56 am
Posts: 760
Location: Oscillating between two different potentials
Octocontrabass wrote:
eekee wrote:
Oh, I wonder, does PowerShell have a list syntax?

Indeed it does, although in PowerShell they're called arrays. Insert commas between your file names to turn them into an array.

Thanks!

...Aaand I see it's yet another language which refuses trailing commas. That's going to render impossible my habitual way of coding complex option lists. Can I concatenate list variables instead... probably, but I now see what kind of language PowerShell is: you have to explicitly specify everything. If I wanted to use a language this complex for little everyday tasks, I'd use Python because I know it already. Also, concatenating lists in Python uses the good old + operator and I don't have to look it up. :) I guess I'll install Cygwin or 9pm again, or maybe Tcl; weird as it is, because I half-way know it, too.

_________________
[Kaph — A set of system ideals] [Pichiciego — A slightly quirky bootable Forth]
"May wisdom, fun, and the greater good shine forth in all your work." — Leo Brodie


Top
 Profile  
 
 Post subject: Re: PowerShell what is this I don't even
PostPosted: Thu Aug 24, 2023 12:39 pm 
Offline
Member
Member

Joined: Sat Jul 27, 2019 9:41 am
Posts: 25
eekee wrote:
Can I concatenate list variables instead... probably, but I now see what kind of language PowerShell is: you have to explicitly specify everything. If I wanted to use a language this complex for little everyday tasks, I'd use Python because I know it already. Also, concatenating lists in Python uses the good old + operator and I don't have to look it up. :)

Is it that bad to specify everything? :lol: And for the record, PowerShell also uses + operator, though I imagine you looked that up already.

eekee wrote:
I guess I'll install Cygwin or 9pm again, or maybe Tcl; weird as it is, because I half-way know it, too.

You could use WSL. Actually; if you simply want bash, you can just install bash on Windows, no? :-k


Top
 Profile  
 
 Post subject: Re: PowerShell what is this I don't even
PostPosted: Mon Aug 28, 2023 6:46 am 
Offline
Member
Member
User avatar

Joined: Mon May 22, 2017 5:56 am
Posts: 760
Location: Oscillating between two different potentials
Code:
PS Z:\forth\pygmy> find "CODE" *.fth
FIND: Parameter format not correct
PS Z:\forth\pygmy> cmd
Microsoft Windows [Version 10.0.22621.2134]
(c) Microsoft Corporation. All rights reserved.

Z:\forth\pygmy>find "CODE" *.fth
[results]

¯\_ :lol: _/¯
It's not even a question of using a list; find under PS rejects wildcards. I can only suppose M$ considers the find command obsolete and not to be used with PS. I could install grep. I could use cmd instead of PS, but it never was a good shell.


KineticManiac wrote:
Is it that bad to specify everything? :lol: And for the record, PowerShell also uses + operator, though I imagine you looked that up already.

Yes, it is that bad. :P

KineticManiac wrote:
You could use WSL. Actually; if you simply want bash, you can just install bash on Windows, no? :-k

These days, Bash for Windows means WSL unless you use Cygwin or Msys2. I've had Msys2 installed before; it was problematic with my health issues. I installed Cygwin the other day, and it looks like it'll be worse. What's been happening is that my health has been preventing me from even looking at technical things for months at a time. Sooner or later, this breaks any rolling-release system, making it impossible to upgrade because critical parts of the system have changed too much since the last upgrade. This killed my last Msys2 installation, it has killed Termux installations on Android too, and it has killed quite a number of my native Linux installs over the years.

I may be able to use a more suitable distro under WSL, but I'm so tired of the whole Linux scene that this is something of a last resort. I'm more likely to use Msys2 again, (primarily because I'm familiar with it,) and when it breaks I'll simply back up the homedir and reinstall it. As home is on a native Windows filesystem, this will be simple.

_________________
[Kaph — A set of system ideals] [Pichiciego — A slightly quirky bootable Forth]
"May wisdom, fun, and the greater good shine forth in all your work." — Leo Brodie


Top
 Profile  
 
 Post subject: Re: PowerShell what is this I don't even
PostPosted: Wed Aug 30, 2023 1:59 am 
Offline
Member
Member

Joined: Sat Jul 27, 2019 9:41 am
Posts: 25
The command seems to be working for me, I think? I'm not familiar with cmd, but here is what it does for me on both.
Code:
PS C:\Users> find "CODE" *.fth
File not found - *.fth
PS C:\Users> cmd
Microsoft Windows [Version 10.0.22621.2134]
(c) Microsoft Corporation. Tüm hakları saklıdır.

C:\Users>find "CODE" *.fth
File not found - *.fth

If I were to take a guess, I think it's the PowerShell parsing messing you up. Perhaps, it replaces "*.fth" with whatever it thinks should go there? Because the EXE program that's being run seems to be the same. You could try the following:
Code:
PS C:\Users> find "CODE" "`*.fth"
File not found - *.fth

Though from what I can understand on how cmd's find works, this should be the equivalent:
Code:
PS C:\Users> gci -fi *.fth

Or if you want to go down each directory recursively:
Code:
PS C:\Users> gci -r -fi *.fth

Also, I don't exactly see how you have to specify "everything" in PowerShell exactly? I'm not familiar with cmd, but I have used bash quite a bit. I don't see how it's that much more verbose, really. Mind explaining? :-k


Top
 Profile  
 
 Post subject: Re: PowerShell what is this I don't even
PostPosted: Sun Nov 19, 2023 11:21 pm 
Offline
Member
Member

Joined: Sat Jul 27, 2019 9:41 am
Posts: 25
KineticManiac wrote:
Also, I don't exactly see how you have to specify "everything" in PowerShell exactly? I'm not familiar with cmd, but I have used bash quite a bit. I don't see how it's that much more verbose, really. Mind explaining? :-k


Scratch what I said here. I've switched to Linux some time ago (I think it has been a few months, not sure) and I see it clearly now. Bash is just so much cleaner. I was brainwashed by Windows :lol: ](*,)


Top
 Profile  
 
 Post subject: Re: PowerShell what is this I don't even
PostPosted: Tue Nov 21, 2023 8:28 am 
Offline
Member
Member
User avatar

Joined: Mon May 22, 2017 5:56 am
Posts: 760
Location: Oscillating between two different potentials
KineticManiac wrote:
KineticManiac wrote:
Also, I don't exactly see how you have to specify "everything" in PowerShell exactly? I'm not familiar with cmd, but I have used bash quite a bit. I don't see how it's that much more verbose, really. Mind explaining? :-k


Scratch what I said here. I've switched to Linux some time ago (I think it has been a few months, not sure) and I see it clearly now. Bash is just so much cleaner. I was brainwashed by Windows :lol: ](*,)

I know, right? :) And I'm used to Rc (from Plan 9) which is even cleaner than Bash.


Today's entertainment:
Code:
PS C:\pforth\fth> 'C:\Program Files\PuTTY\pscp' -ls '[email protected]:.'
At line:1 char:31
+ 'C:\Program Files\PuTTY\pscp' -ls '[email protected]:.'
+                               ~~~
Unexpected token '-ls' in expression or statement.
At line:1 char:35
+ 'C:\Program Files\PuTTY\pscp' -ls '[email protected]:.'
+                                   ~~~~~~~~~~~~~~~~~~~~~~
Unexpected token ''[email protected]:.'' in expression or statement.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordEx
   ception
    + FullyQualifiedErrorId : UnexpectedToken

](*,) :lol:

Code:
PS C:\pforth\fth> cmd
Microsoft Windows [Version 10.0.22621.2715]
(c) Microsoft Corporation. All rights reserved.

C:\pforth\fth>"C:\Program Files\PuTTY\pscp" -ls [email protected]:.
[email protected]'s password:
Listing directory .
drwxr-xr-x    7 ethan    ethan         248 Nov 21 14:19 .
drwxr-xr-x    6 root     root           96 Nov 21 13:54 ..
drwx------   11 ethan    ethan         288 Nov 21 13:54 .config
drwxr-xr-x    2 ethan    ethan          80 Nov 21 13:54 .elinks
-rw-r--r--    1 ethan    ethan         514 Nov 21 13:54 .fonts.conf
drwxr-xr-x    4 ethan    ethan          96 Nov 21 13:54 .gconf
drwxr-xr-x    3 ethan    ethan          72 Nov 21 13:54 .local
drwxr-xr-x    2 ethan    ethan          96 Nov 21 13:54 .qt
-rw-------    1 ethan    ethan         963 Nov 21 14:19 .viminfo
-rw-r--r--    1 ethan    ethan         144 Nov 21 14:19 ksp-tmp

_________________
[Kaph — A set of system ideals] [Pichiciego — A slightly quirky bootable Forth]
"May wisdom, fun, and the greater good shine forth in all your work." — Leo Brodie


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC - 6 hours


Who is online

Users browsing this forum: No registered users and 5 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group