this post was submitted on 12 Mar 2024
1924 points (99.2% liked)
Technology
58165 readers
3521 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Okay, so if your source path changes, your script stops working? Who knew. Try ([Environment]::GetFolderPath("Desktop"))
I am using that already, but if I recall, it’s the space in the path ‘\one drive\’ that makes that not work correctly.
Edit: I am actually using $Env:UserName
Yeah the deeper path might help.
Basically the thing to remember about powershell that separates it from other scripts is you want to pipe pipe pipe your data as far as possible so it stays an object, and then output a string at the very end - there's no tons of awk sed string manipulation like in bash, partly because of what you pointed out with how terminal input is interpreted.
It’s only happened twice, after updates, that windows turned one drive back on and remapped my desktops. In those cases I have just turned it back off and remapped back to normal. Then env:username works again and I think the only difference is the space in the path with one drive, though it could be something else breaking when the desktop gets remapped.
I’m probably using powershell all wrong anyways because I am an amateur.
I use it to grab a file from an sftp by calling on winSCP, then convert from csv to xlsx using the excel module, then run a bunch of VBA to reformat the file, then save the xlsx with a date stamp. I use task scheduler to run it daily and I have it on like 10 machines.
Works great when one drive doesn’t mess with my desktop path.