» »

Avtomatizacija pogostega opravila

Avtomatizacija pogostega opravila

AnotherMe ::

Doma sem ostal v karanteni in bi se malo poigral in si poiskusil avtomatizirat eno zadevo.

Naredit moram naslednje:

- prijava na ftp in dolpoteg ene zip datoteke
- v mapi kamor shranim zip datoteko moram pobrisat staro datoteko
- odzipam datoteko in vsebovano datoteko preimenujem
- poženem nek en program

Kako to najlažje in z brezplačnimi orodji naredit?

GupeM ::

Linux ali Windows?

styrian ::

Inštaliraj Cygwin če nimaš Linuxa in naredi z ukazi v skripti:

wget -O ftp://up_ime:geslo@ftp.streznik.si/mapa/datoteka.zip
unzip datoteka.zip
mv datoteka.txt datoteka_nova.txt
notepad datoteka_nova.txt

AnotherMe ::

za windows rabim.

bi mogoce slo to naredit kar z .bat datoteko? ali pa mogoce s powershell skripto?

styrian ::

Da se, vendar je težje. Uporabi Google.

predi ::

Če se že nekaj učiš, raje pusti Batch in Powershell script pri miru in posveti svoj čas daleč bolj uporabnemu Bashu. Namestiš Windows Subsystem for Linux in dobiš praktično vse kar potrebuješ za skriptiranje.

GupeM ::

Seveda bi. Mogoče bi bilo najbolje, da naložiš WSL (meni Cygwin nekako ne sede).

https://www.windowscentral.com/install-...

Potem pa tako kot je zgoraj napisal styrian. Narediš datoteko, kamor skopiraš styrianov tekst, na začetek pred prvo prstico pa dodaš še:
#!/bin/bash


Na koncu shraniš v ime_skripte.sh, spremeniš dovoljenja in poženeš. Če se ti ustavi, povej kje se ti je ustavilo, bomo pomagali naprej.

Zgodovina sprememb…

  • spremenil: GupeM ()

AnotherMe ::

Guglam, kako bi resil zadevo z PS (v podjetju nekako niso navduseni nad nalaganjem dodatnih zadev) in vidim, da je res dosti bolj komplicirano. Veliko odgovorov pa je v smislu, vzami cygwin :)
Bom probal sam nekaj skupaj spacat v PS in ko sr mi zatakne se spet "slisimo".

AEx_1-7 ::

AnotherMe je izjavil:

Guglam, kako bi resil zadevo z PS (v podjetju nekako niso navduseni nad nalaganjem dodatnih zadev) in vidim, da je res dosti bolj komplicirano. Veliko odgovorov pa je v smislu, vzami cygwin :)
Bom probal sam nekaj skupaj spacat v PS in ko sr mi zatakne se spet "slisimo".


https://www.syspanda.com/index.php/2019...
--++ order with AESS (AE Saver Shipping/AE Standard Shipping) ++--
The word (...) originates from the Ancient Greek: élleipsis meaning 'leave out'
Zargon je soc. zvrst neknj. slov. jezika, ki ga uporabljajo ljudje iste stroke.

6bt9hmDwY ::

Če imaš omejitve glede sistema, gre tudi s samim batch filom, če je vse precej direktno (brez neke posebne logike), ali windows scriptingom (js/vbs) za kakšno bolj 'programabilno obdelavo', kar je (ali pa ni??) implicirano v otvoritvenem postu. Ni potrebno ničesar instalirati, je pa potrebno opravilo predstaviti dovolj podrobno in tudi prihodnja pričakovanja. Ymmv.

kuall ::

ako bi gospoda znali guglati jim ne bi bilo treba niti znati programirati. vsi odgovori na zastavljena vprašanja so namreč že lepo odgovorjeni na internetih. Ps is the way to go oziroma kar c# raje, je lažje. free Visual Studio Community?

blackbfm ::

Ps is the way to go oziroma kar c# raje, je lažje. free Visual Studio Community?


ne rabi tega msft dreka


tu ima windows binarije
wget: https://eternallybored.org/misc/wget/
7zip standalone console version: https://www.7-zip.org/download.html

za začetek naj proba kakšen *.bat narest

GupeM ::

kuall je izjavil:

ako bi gospoda znali guglati jim ne bi bilo treba niti znati programirati. vsi odgovori na zastavljena vprašanja so namreč že lepo odgovorjeni na internetih. Ps is the way to go oziroma kar c# raje, je lažje. free Visual Studio Community?

Ja, pa vsaj enega od super računalnikov z lestvice top 100, lastno elektrarno in 137 inženirjev.

Ti tudi kupiš kompresor in pištolo za zabijanje žebljev če moraš zabiti dva žeblja?

Mislim ... Kakšne ideje ...

AEx_1-7 ::

GupeM je izjavil:

kuall je izjavil:

ako bi gospoda znali guglati jim ne bi bilo treba niti znati programirati. vsi odgovori na zastavljena vprašanja so namreč že lepo odgovorjeni na internetih. Ps is the way to go oziroma kar c# raje, je lažje. free Visual Studio Community?

Ja, pa vsaj enega od super računalnikov z lestvice top 100, lastno elektrarno in 137 inženirjev.

Ti tudi kupiš kompresor in pištolo za zabijanje žebljev če moraš zabiti dva žeblja?

Mislim ... Kakšne ideje ...


Yes -- If Your Only Tool is a Hammer, Every Problem Looks Like a Nail ...

OP, kako gre, morda kdo tule (ker so programerji, you know, they know everything, because they solve problems 24/7 ... like doctors do ...) naredi tole za vas rutinsko, 10 minut in je ...
--++ order with AESS (AE Saver Shipping/AE Standard Shipping) ++--
The word (...) originates from the Ancient Greek: élleipsis meaning 'leave out'
Zargon je soc. zvrst neknj. slov. jezika, ki ga uporabljajo ljudje iste stroke.

Zgodovina sprememb…

  • spremenila: AEx_1-7 ()

Invictus ::

predi je izjavil:

Če se že nekaj učiš, raje pusti Batch in Powershell script pri miru in posveti svoj čas daleč bolj uporabnemu Bashu. Namestiš Windows Subsystem for Linux in dobiš praktično vse kar potrebuješ za skriptiranje.

Zakaj?

Powershell je bistveno močnejši od Basha... In obstaja tudi za Linux in MacOS...
"Life is hard; it's even harder when you're stupid."

http://goo.gl/2YuS2x

AEx_1-7 ::

Invictus je izjavil:

predi je izjavil:

Če se že nekaj učiš, raje pusti Batch in Powershell script pri miru in posveti svoj čas daleč bolj uporabnemu Bashu. Namestiš Windows Subsystem for Linux in dobiš praktično vse kar potrebuješ za skriptiranje.

Zakaj?

Powershell je bistveno močnejši od Basha... In obstaja tudi za Linux in MacOS...


S tem da bash pogosto ni portable ... ksh and csh, but mostly sh for me ... ampak OP pravi Win -- torej ... vse tole odpade ...
--++ order with AESS (AE Saver Shipping/AE Standard Shipping) ++--
The word (...) originates from the Ancient Greek: élleipsis meaning 'leave out'
Zargon je soc. zvrst neknj. slov. jezika, ki ga uporabljajo ljudje iste stroke.

predi ::

Ker ga uporablja neprimerljivo več ljudi?

AEx_1-7 ::

predi je izjavil:

Ker ga uporablja neprimerljivo več ljudi?


A lot of people also smoke, drink, take drugs ... many also troll ... so your point is ... because 'everybody' uses it, it must be good!
--++ order with AESS (AE Saver Shipping/AE Standard Shipping) ++--
The word (...) originates from the Ancient Greek: élleipsis meaning 'leave out'
Zargon je soc. zvrst neknj. slov. jezika, ki ga uporabljajo ljudje iste stroke.

Utk ::

Pameten folk vzame orodje, ki naredi kar mora s čim manj škode. Če je za to dovolj .bat fajl, res ne vem zakaj bi nalagal karkoli, samo zato, ker bi s tistim lahko naredil še 100x več. Če teh 100x več ne rabiš.

Zgodovina sprememb…

  • spremenil: Utk ()

AEx_1-7 ::

Utk je izjavil:

Pameten folk vzame orodje, ki naredi kar mora s čim manj škode. Če je za to dovolj .bat fajl, res ne vem zakaj bi nalagal karkoli, samo zato, ker bi s tistim lahko naredil še 100x več. Če teh 100x več ne rabiš.


Yes, this is valid! But WE do not know what OP KNOWS HOW TO USE PROPERLY? Another OP troll ...
--++ order with AESS (AE Saver Shipping/AE Standard Shipping) ++--
The word (...) originates from the Ancient Greek: élleipsis meaning 'leave out'
Zargon je soc. zvrst neknj. slov. jezika, ki ga uporabljajo ljudje iste stroke.

Zgodovina sprememb…

  • spremenila: AEx_1-7 ()

GupeM ::

AEx_1-7 je izjavil:

Yes -- If Your Only Tool is a Hammer, Every Problem Looks Like a Nail ...

OP, kako gre, morda kdo tule (ker so programerji, you know, they know everything, because they solve problems 24/7 ... like doctors do ...) naredi tole za vas rutinsko, 10 minut in je ...

Res si pameten. Naj te samo popravim: If your only problem is a nail and you have a hammer, you should use it.

Zgoraj mu je en že podal odgovor v 4 vrsticah. Zakaj za vraga bi inštaliral Visual Studio? S powershellom je sicer bolj komplicirano, mu pa ni treba nalagati ničesar. Ali? Ne vem, kako se PS znajde z unzipanjem.

AEx_1-7 ::

GupeM je izjavil:

AEx_1-7 je izjavil:

Yes -- If Your Only Tool is a Hammer, Every Problem Looks Like a Nail ...

OP, kako gre, morda kdo tule (ker so programerji, you know, they know everything, because they solve problems 24/7 ... like doctors do ...) naredi tole za vas rutinsko, 10 minut in je ...

Res si pameten. Naj te samo popravim: If your only problem is a nail and you have a hammer, you should use it.

Zgoraj mu je en že podal odgovor v 4 vrsticah. Zakaj za vraga bi inštaliral Visual Studio? S powershellom je sicer bolj komplicirano, mu pa ni treba nalagati ničesar. Ali? Ne vem, kako se PS znajde z unzipanjem.


Nam bo OP povedal ... torej OP ... ostalo je off-topic!
Seems to me OP has a problem using anything ... to do this job/task ...
Maybe he still uses .Z?
--++ order with AESS (AE Saver Shipping/AE Standard Shipping) ++--
The word (...) originates from the Ancient Greek: élleipsis meaning 'leave out'
Zargon je soc. zvrst neknj. slov. jezika, ki ga uporabljajo ljudje iste stroke.

Zgodovina sprememb…

  • spremenila: AEx_1-7 ()

misek ::

GupeM je izjavil:

Ne vem, kako se PS znajde z unzipanjem.
Enostavno: https://docs.microsoft.com/en-us/powers...

styrian ::

Jaz bi se samo popravil da je za opcijo -O potrebno navesti tudi ime datoteke, da se ta prepiše, drugače pa je potrebno uporabiti -N (prepiše samo če je datoteka novejša)

Torej:
wget ftp://.../ime_datoteke.zip -O ime_datoteke.zip
wget -N ftp://.../ime_datoteke.zip

AnotherMe ::

Kot sem omenil, želim uporabit (če je le mogoče) stvari, ki so že na sistemu...
Tako, da mi preostane cmd :)

v txt datoteko sme si napisal skripto za ftp:

open ipnaslov
username
password
cd podmapa
lcd /D "lokalna mapa kamor zelim shranit"

mget *.zip

disconnect
quit


Ki jo poženem iz .bat datoteke z:
ftp -s:prenesi.txt

Do sem vse ok - problem je pa, da se mi ime datoteke spreminja.
Ker pa je edina datoteka v podmapi, uporabim kar mget *.zip.

Ustavi se mi ko naj z .bat unzipam datoteko - kakšna ideja? Spet če je mogoče z stvari vgrajenimi v windows 10... ;)

AnotherMe ::

Vidim, ds nisem do konca napisal :D

Torej problem je ker ne vem imena datoteke.

ftp deluje z mget *.zip

ne znam pa odzipat :(

Če poznam ime datoteke je relativno enostavno:

tar -zxvf datoteka.zip

Opciji vidim dve:

Ali nekako preimenujem že pri download in potem vem ime datoteke za unzip ali pa obstaja neka opcija z jokerji v imenu datoteke pri unzipu...

Mi lahko kdo pomaga - pri obeh sem nekako obstal.. :(

6bt9hmDwY ::

V cmd line zaplozaj
for %f in (*.zip) do tar -zxvf %f

v batch pa
for %%f in (*.zip) do tar -zxvf %%f

Zgodovina sprememb…

kuall ::

heh praw smešni so mi ljudje, ki se zgražajo nad predlogom c#. meni je c# veliko lažji kot katerikoli powershell ali bat. powershell ni nič drugega kot popačena verzija c#. edina razlika je, da nima fajn debuggerja, IDEja in da ima manj primerov na internetu.

AnotherMe ::

6bt9hmDwY je izjavil:

V cmd line zaplozaj
for %f in (*.zip) do tar -zxvf %f

v batch pa
for %%f in (*.zip) do tar -zxvf %%f

kul!

tole zjutraj takoj probam ;)

Kako pa bi lahko unzipano datoteko potem se preimenoval?

Unzipana datoteka je je nekajnekaj_datum_spetnekaj.txt rad pa bi spravil v input.txt

lahko podobno kot predlagas za unzip, kjer namesto tar uporabim rename?

6bt9hmDwY ::

IF EXIST input.txt DEL input.txt
REN nekajnekaj_*_spetnekaj.txt input.txt

:))

AnotherMe ::

6bt9hmDwY je izjavil:

IF EXIST input.txt DEL input.txt
REN nekajnekaj_*_spetnekaj.txt input.txt

:))


To dejasnko dela?

Kaj pa bi bilo v primeru da bi bilo vec datotek ki bi ustrezale? Bi prvo preimenoval, potem pac ne vec, ker bi input.txt ze obstajal?

6bt9hmDwY ::

Poskusi, če dela, impliciral si, da je ena datoteka.
Kako bi ti VEČ datotek PREIMENOVAL v EN točno določen file?
Lahko jih 'skonkateniraš' v en file, to pa.
Vidim, da plezamo v različnih stenah, bodo drugi forumaši prevzeli.
Toodaloo.

AnotherMe ::

6bt9hmDwY je izjavil:

Poskusi, če dela, impliciral si, da je ena datoteka.
Kako bi ti VEČ datotek PREIMENOVAL v EN točno določen file?
Lahko jih 'skonkateniraš' v en file, to pa.
Vidim, da plezamo v različnih stenah, bodo drugi forumaši prevzeli.
Toodaloo.


Res je, napisal sem, da imam eno datoteko (in tudi jo imam).
In nebi rad preimenoval VEČ datotek v ENO - samo zanimalo me je kaj bi se zgodilo, če bi bilo več datotek za preimenovanje (in včeraj zvečer nisem imel več pri roki računalnika, da bi probal) :)

Sicer pa: skriptica je sedaj končana in izgleda nekako takole:


ftp.txt:

open ftp_naslov
ftp_uporabniško_ime
ftp_geslo
cd podmapa
lcd /D "mapa_kamor_shranjujem"
mget *.zip

disconnect
quit


download.bat:

@echo off

d:
cd mapa

IF EXIST nekaj_*_nekaj.zip DEL nekaj_*_nekaj.zip
IF EXIST nekaj_*_nekaj.xml DEL nekaj_*_nekaj.xml

ftp -s:ftp.txt

for %%f in (*.zip) do tar -zxvf %%f

IF EXIST input.txt DEL input.txt
REN nekaj_*_nekaj.txt input.txt

program.exe


Hvala vsem za pomoč!

6bt9hmDwY ::

Fajn, pripravi nekaj filov, ki sledijo vzorcu 'nekaj_*_nekaj.txt' in potem izvrši 'REN nekaj_*_nekaj.txt input.txt' in ugotoviš sam. Lahko pa sicer iteriraš 'nekaj_*_nekaj.txt' datoteke, vsako preimenuješ v 'input.txt' in poženeš 'program.exe' za vsako, pač predstavi uporabniški scenarij, kot ga želiš.

AnotherMe ::

Uporabniški scenarij je tak kot sem napisal na začetku:

- prijava na ftp in dolpoteg ene zip datoteke
- v mapi kamor shranim zip datoteko moram pobrisat staro datoteko
- odzipam datoteko in vsebovano datoteko preimenujem
- poženem nek en program

Batch skripta, ki sem jo pripravil z vašo pomočjo pa mi reši vse našteto.

Kar sem vmes bluzil pa najbolje, da se kar ignorira :D


lp


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Replace

Oddelek: Programiranje
6830 (771) steev
»

Program Mathematica

Oddelek: Programska oprema
71289 (1077) moj_nick
»

[C/C++] pointerji in reference

Oddelek: Programiranje
112011 (1835) Matako
»

[BASH]Kako skripti podati argumente zapisane v datoteki?

Oddelek: Programiranje
71260 (1175) BlaY0
»

C++ problem/naloga

Oddelek: Programiranje
7984 (837) Monster

Več podobnih tem