PowerShell, elke 30 minuten afbeelding downloaden en opslaan

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • Joep
  • Registratie: December 2005
  • Laatst online: 16-09 23:14
Zoals de titel van dit topic zegt, wil ik om de 30 minuten een afbeelding downloaden en opslaan. Ik wil dit uitvoeren op een desktop met Windows 10 Pro. De meest voor de hand liggende manier om dit uit te voeren lijkt me een taak aan te maken in de Task Scheduler die om de 30 minuten een PowerShell-script uitvoert.

Wat heb ik al:

PowerShell:
1
(New-Object System.Net.WebClient).DownloadFile("http://www.twolefthands.nl/index/hildoindex844x853.jpg", "C:\Test\Test.jpg")


Dit werkt, maar ik wil de bestandsnaam van de afbeelding kunnen vormgeven. Onderstaande code geeft me de juiste bestandsnaam.

PowerShell:
1
"C:\Test\" + (Get-Date -UFormat "%Y-%m-%d %H:%M:%S") + " " + (( Get-ChildItem C:\Test | Measure-Object ).Count + 1) + ".jpg"


Mijn probleem is het volgende: Hoe prop ik deze twee dingen samen? Ik heb vanalles geprobeerd en gezocht op google, maar het lukt me maar niet om de code waarmee ik de bestandsnaam vormgeef in de andere code te plakken. Ik heb het vermoeden dat ik Get-Date en Get-ChildItem naar een string moet casten en de output van de bestandsnaam-code in een variabele moet proppen en die moet gebruiken in DownloadFile, maar dit lukt me maar niet.

Of dit de meest handige manier is om een afbeelding elke 30 minuten te downloaden en op te slaan is een ander verhaal, maar niet mijn vraag ;)

Edit:
Tsja, het is al laat O-)

Oplossing:
PowerShell:
1
(New-Object System.Net.WebClient).DownloadFile("http://www.twolefthands.nl/index/hildoindex844x853.jpg", "C:\Test\$(Get-Date -UFormat "%Y-%m-%d_%H-%M-%S")_$(( Get-ChildItem C:\Test | Measure-Object ).Count + 1).jpg")

Dit werkt! Nu nog ff de task scheduler instellen :)

Edit 2: En de afbeeldingen stromen binnen :*)

[ Voor 11% gewijzigd door Joep op 11-02-2018 00:49 ]

Beste antwoord (via Joep op 10-02-2018 23:46)


  • millu
  • Registratie: Juni 2008
  • Laatst online: 15-09 08:38
Probeer dit eens

code:
1
2
3
4
[string]$URL = "http://www.twolefthands.nl/index/hildoindex844x853.jpg"
[string]$SaveFile = "C:\Test\$(Get-Date -UFormat "%Y-%m-%d.%H%M%S").jpg"

(New-Object System.Net.WebClient).DownloadFile($URL,$SaveFile)

Alle reacties


Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • millu
  • Registratie: Juni 2008
  • Laatst online: 15-09 08:38
Probeer dit eens

code:
1
2
3
4
[string]$URL = "http://www.twolefthands.nl/index/hildoindex844x853.jpg"
[string]$SaveFile = "C:\Test\$(Get-Date -UFormat "%Y-%m-%d.%H%M%S").jpg"

(New-Object System.Net.WebClient).DownloadFile($URL,$SaveFile)

Acties:
  • 0 Henk 'm!

  • MAX3400
  • Registratie: Mei 2003
  • Laatst online: 12:55

MAX3400

XBL: OctagonQontrol

Ik snap je issue niet geheel. Even uit mijn hoofd; in je tweede code, zet je al tijd & datum in de file maar je doet ook een count+1? Dat klinkt raar want je tijd & datum zorgt er toch per definitie voor dat er geen "oude" Test.jpg bestaat noch een count benodigd is?

Mijn advertenties!!! | Mijn antwoorden zijn vaak niet snowflake-proof


Acties:
  • 0 Henk 'm!

  • Joep
  • Registratie: December 2005
  • Laatst online: 16-09 23:14
Ik heb het probleem al gevonden. Update komt eraan :P Typisch... Soms moet ik gewoon een topic maken. Meestal ga ik dan pas dingen fatsoenlijk testen en blijkt dat m'n format voor de bestandsnaam niet klopt.

Die count heb ik trouwens toegevoegd omdat ik het mogelijk acht dat tijdens de transitie van zomer- naar wintertijd en andersom er twee dezelfde bestandsnamen ontstaan.

Edit: Wat @millu dus zegt :P

Edit 2: Alleen mogelijk een probleem als de tijd een uur teruggaat dus. Weet niet wanneer dat ook alweer is en heb geen zin om over zomer- en wintertijd na te denken. Kutsysteem :P

[ Voor 22% gewijzigd door Joep op 10-02-2018 23:54 ]


Acties:
  • +2 Henk 'm!

  • Kappie
  • Registratie: Oktober 2000
  • Laatst online: 12:27

Kappie

Tell me your secrets...

Joep schreef op zaterdag 10 februari 2018 @ 23:41:
Edit 2: Alleen mogelijk een probleem als de tijd een uur teruggaat dus. Weet niet wanneer dat ook alweer is en heb geen zin om over zomer- en wintertijd na te denken. Kutsysteem :P
Je zou iets met de UTC-tijdzone kunnen doen. Die kent geen zomer- of wintertijd.

He does fit the profile perfectly. He's intelligent, but an under-achiever; alienated from his parents; has few friends. Classic case for recruitment by the Soviets.