Automatické nahrazování souboru Vyřešeno

Operační systémy Windows z dílny Microsoft a vše kolem nich

Moderátoři: Pic, Mods_senior

Uživatelský avatar
Speed_dead
Level 6
Level 6
Příspěvky: 3213
Registrován: duben 10
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

Automatické nahrazování souboru

Příspěvekod Speed_dead » 05 kvě 2010 13:25

Potřeboval bych, abych po poklikání na zástupce, se přepsal soubor A souborem B (texťák) a spustil klasický exe. Po ukončení používání programu (jenž by dávka spustila) by se soubor B přepsal zpátky na soubor A. Nahrazení souboru souborem by neměl být problém baťákem, se spuštěním exe souboru si nejsem jistý a zpětné přejmenování po (ručním - win křížkem) ukončení běhu exe si nevím rady. Mělo by to běhat ve vin XP.
Google ví skoro vše. Ale někdy je problém co tam napsat, aby to našlo to, co hledám.
Pokud se to nepovede, vypadne tuna nepoužitelných odkazů a nebo taky nic.

Reklama
Uživatelský avatar
ITCrowd
Tvůrce článků
Guru Level 13.5
Guru Level 13.5
Příspěvky: 23605
Registrován: březen 10
Pohlaví: Muž
Stav:
Offline

Re: Automatické nahrazování souboru

Příspěvekod ITCrowd » 05 kvě 2010 13:29

Na to mě napadá že by to mohlo jít WSH scriptem.
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router

Uživatelský avatar
Speed_dead
Level 6
Level 6
Příspěvky: 3213
Registrován: duben 10
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Automatické nahrazování souboru

Příspěvekod Speed_dead » 05 kvě 2010 13:41

Na to co je to WSH script jsem se musel podívat. Nikdy jsem o něm neslyšel.
Google ví skoro vše. Ale někdy je problém co tam napsat, aby to našlo to, co hledám.
Pokud se to nepovede, vypadne tuna nepoužitelných odkazů a nebo taky nic.

Uživatelský avatar
ITCrowd
Tvůrce článků
Guru Level 13.5
Guru Level 13.5
Příspěvky: 23605
Registrován: březen 10
Pohlaví: Muž
Stav:
Offline

Re: Automatické nahrazování souboru

Příspěvekod ITCrowd » 05 kvě 2010 14:17

Je to WSH script. Součást windows už od řady 98. Soubor je s příponou .vbs.
Přejmenování by mohlo být takto:
Set fso = CreateObject("Scripting.FileSystemObject")
Set oFile = fso.GetFile("C:\souborA.txt")
oFile.Name = "souborB.txt"
pouštění programu by bylo asi takto:
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "Notepad.exe",1
No a na ukončení snad pomůže:
http://www.tek-tips.com/viewthread.cfm? ... 745&page=1
http://www.wisesoft.co.uk/scripts/vbscr ... ocess.aspx

Jinak v batu je bez problémů přejmenování (rename C:\souborA C:\souborB), spouštění (C:\windows\calc.exe), ale nemám tuchu jak program ukončit ve standartním vybavení. V resource kitu je program na sestřelení procesu, ale ten není v každé instalaci).
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router

Uživatelský avatar
Speed_dead
Level 6
Level 6
Příspěvky: 3213
Registrován: duben 10
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Automatické nahrazování souboru

Příspěvekod Speed_dead » 05 kvě 2010 14:38

Problém je v tom, že nechci program sestřelit, ale chci po skriptu (či co to bude), aby čekal, až program klasickým způsobem ukončím a vzápětí provedl přejměnování souboru B zpátky na A. Základy *.bat jakš takš zvládám - přejmenovat, smazat, kopírovat apod. Ale na tohle moje základy *.bat rozhodně nestačí.
Google ví skoro vše. Ale někdy je problém co tam napsat, aby to našlo to, co hledám.
Pokud se to nepovede, vypadne tuna nepoužitelných odkazů a nebo taky nic.

Uživatelský avatar
ITCrowd
Tvůrce článků
Guru Level 13.5
Guru Level 13.5
Příspěvky: 23605
Registrován: březen 10
Pohlaví: Muž
Stav:
Offline

Re: Automatické nahrazování souboru

Příspěvekod ITCrowd » 05 kvě 2010 14:51

No tak to ve scriptu stačí malá změna:
WshShell.Run "Notepad.exe", 1, True
V tomto případě bude script čekat, dokud se program neukončí. Nefunguje s programem Explorer.exe (neplést si s iexplore.exe)
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router

Uživatelský avatar
Speed_dead
Level 6
Level 6
Příspěvky: 3213
Registrován: duben 10
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Automatické nahrazování souboru

Příspěvekod Speed_dead » 06 kvě 2010 00:15

Jak jsem nad tím trochu ještě přemýšlel, nejednodušší mě přišlo,když budou tři soubory. A,B a C. A a B budou zdrojové a C bude cílový. FileA a fileB by byly ve spolešném adresáři, fileC jinde.
Viděl bych tenhle postup:
-------------------------------
Vymaže se fileC
Do adresáře, kde bylo fileC, se zkopíruje fileB
FileB se přejmenuje na fileC
spustí se exe soubor s čekáním na jeho ukončení
Vymaže se fileC
Do adresáře, kde bylo fileC, se zkopíruje fileA
FileA se přejmenuje na fileC
-------------------------------
Neznám možnosti toho skriptu. Dost možná lze při kopírování rovnou změnit název souboru a fileC by se tím pádem jen přepisovalo. Pak by se mohly řádky výrazně zredukovat. Celkem rychle jsem pochopil, že pokud to daný soubor nemůže najít, stačí k názvu přidat cestu.

Mohl bych poprosit o kousek kódu co by tohle dělal? Asi bych to dal dohromady, ale trvalo by mě to nejspíš dost dlouho. Ten kód co si tu napsal jsem zkusil a běhá to bez problémů, ale potřeboval bych přepisování, nikoliv přejmenování, jak jsem psal v úvodní otázce. V druhé doplňující otázce jsem napsal nesmysl, jelikož pouhé přejmenování můj problém neřeší.

P.S. Předpokládám, že u exploreru to hlídání ukončení nefunguje proto, že vlastně běží pořád, jelikož je to základ Winů.
Google ví skoro vše. Ale někdy je problém co tam napsat, aby to našlo to, co hledám.
Pokud se to nepovede, vypadne tuna nepoužitelných odkazů a nebo taky nic.

Uživatelský avatar
ITCrowd
Tvůrce článků
Guru Level 13.5
Guru Level 13.5
Příspěvky: 23605
Registrován: březen 10
Pohlaví: Muž
Stav:
Offline

Re: Automatické nahrazování souboru

Příspěvekod ITCrowd » 06 kvě 2010 07:23

Aha, tak to jsem špatně pochopil. S tím přepsáním. Nad kódem můžu popřemýšlet, ale ne dnes, pokud na to spěcháš, neměl by být problém vytvořit dva soubory bat co to budou dělat a spouštět je ze scriptu.
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router

Uživatelský avatar
Jan Pašek
Tvůrce článků
Level 6.5
Level 6.5
Příspěvky: 3701
Registrován: leden 06
Bydliště: Plzeň
Pohlaví: Muž
Stav:
Offline

Re: Automatické nahrazování souboru

Příspěvekod Jan Pašek » 06 kvě 2010 07:55

Poprosil bych můžeš být trochu konkrétnější. Děláš v texťáku nějaký seznam ten potřebuješ vyvolat pomocí dávky a po uložení změn, které budeš zadávat ručně potřebuješ vytvořit zpět aktualizovaný záložní soubor? Nebo potřebuješ mít možnost ručně zadané změny vrátit zpět do předešlého stavu pomocí dávky?
Prostě zadání mi hlava nebere bylo by lépe popsat konkrétní situaci. Třeba k tomu přistupuješ tak že se drbeš pravou rukou za levým uchem a řešení by mohlo být jednoduché a přímočaré jen to chce pohled někoho jiného.
Jendův rozcestník (Odkazy, které jsem měl dříve v podpisu najdete v mém rozcestníku.) Jendovy novinky - Co je pro Vás odemne nového Pokud potřebujete mermomocí vědět na čem páchám PC kriminalitu sestavy jsou v profilu.

Uživatelský avatar
Speed_dead
Level 6
Level 6
Příspěvky: 3213
Registrován: duben 10
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Automatické nahrazování souboru

Příspěvekod Speed_dead » 06 kvě 2010 08:19

V práci máme 2D a 3D cad. Jednu licenci 3D a dvě 2D na dva konstruktéry - kolegu a mě. Instalace cadu je jediná, ale podle licenčního souboru (texťák) se určí, zda cad poběží 3D a nebo 2D. 3D licence je plovoucí na serveru. Děláme střídavě (dle složitosti dílu/projektu) ve 3D či ve 2D. Licenční soubor se nachází hluboko v adresáři cadu. Licenční soubor na 2D i 3D má stejný název. Proto mám na ploše dvě složky (se 2D a 3D licencí) a zástupce na adresář, kam se má licence umístit. Prohazování provádím přetažením dané licence na zástupce adresáře, kde má licence být a následně potvrdím přepsání. Momentálně to řešíme tak, že si řeknem s kolegou (když jeden dělá ve 3d a druhý ve 3D potřebuje dělat), teď to přehodíme a minimálně jeden z nás (vědšinou oba) si přepíšeme licenční soubor na ten opačný. Když se to děje více jak 5x denně, je to docela otrava. Proto jsem si myslel, že by pomoh jednoduchý sript, jenž by po spuštění licenční soubor opravil na 2D či 3D, spustil instalaci cadu (jenž by se dle licenčního souboru nastartovala ve 2D či 3D) a po regulérním ukončení cadu by se toto zase vrátilo na 2D. Chtěl jsem to vyřešit přepisováním souboru, aby odpadlo testování, jaký licenční soubor je momentálně používaný, jelikož se liší pouze obsahem, nikoliv názvem a navíc licenční soubory se cca po roce mění (obsahově, název je stále stejný). Proto se mě jeví prosté přepisování jednodušší, než testování obsahu a pak případné přepsání, když se obsah neshoduje.

P.S. Teď jsem to popsal doufám dost podrobně, ale přijde mě to, že je to víc zamotané, než předtím. :blush:
Google ví skoro vše. Ale někdy je problém co tam napsat, aby to našlo to, co hledám.
Pokud se to nepovede, vypadne tuna nepoužitelných odkazů a nebo taky nic.

Uživatelský avatar
Jan Pašek
Tvůrce článků
Level 6.5
Level 6.5
Příspěvky: 3701
Registrován: leden 06
Bydliště: Plzeň
Pohlaví: Muž
Stav:
Offline

Re: Automatické nahrazování souboru

Příspěvekod Jan Pašek » 06 kvě 2010 09:02

Licenční soubory jsou na vašich PC a instalace se spouští ze serveru? nebo to přepisování se celé provádí na serveru?

Ideální stav by byl kdyby to hlídalo která licence je volná a kdo používá tu 3D.

Je to výzva alespoň za pokus to stojí .. zkusím.
Jendův rozcestník (Odkazy, které jsem měl dříve v podpisu najdete v mém rozcestníku.) Jendovy novinky - Co je pro Vás odemne nového Pokud potřebujete mermomocí vědět na čem páchám PC kriminalitu sestavy jsou v profilu.

Uživatelský avatar
Speed_dead
Level 6
Level 6
Příspěvky: 3213
Registrován: duben 10
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Automatické nahrazování souboru

Příspěvekod Speed_dead » 06 kvě 2010 09:49

Sám potřebuji rozhodnout, zda pustím 2D či 3D, takže puštění 3D automaticky, když je volné, tak není dobré řešení. Přes licenční server se hlídá jen 3D licence a když se pustí podruhý 3D verze,tak to nepřeskočí samo na 2D verzi, ale vyskočí okno s tím, že žádná licence není volná. Jelikož co se spouští je daný právě tím licenčním souborem, co pořád dokola s kolegou prohazujem. U nás v práci IT odělení bohužel neexistuje. Jakási LAN tu funguje na základě sdílení přes Win. Na kolegův PC nám nainstaloval technik od cadu licenční server. Takže dost nerad bych se dostal do situace, kdy bych si s tím nevěděl rady. Problém co neumím sám vyřešit = průser, co stojí peníze. Ohledně IT jsem v práci jednooký král mezi slepými. :huh:

Shrnutí situace:
1. Stejný cad je nainstalován fyzicky na obou PC
2. Licenční soubor je fyzicky na obou PC -při běžný praxi se tam nahraje např pomocí Total Comandera a nechá se být
3. Licenční server hlídá přes plovoucí licenci, aby byl puštěn jen jeden 3D. Navíc na daném PC musí být správný (pro 3D) licenční soubor.
4. Licence na 2D je fyzicky přítomná na jednom nebo obou PC. Licenční server tohle nekontroluje.
5. Licenční soubor má vždy stejný název, ale obsah se mění podle toho, jaké funkce mají být odblokovány - instalace cadu na obou PC je plná
6. Licence 2D cadů se zhruba 1x ročně obnovuje = stejný název, ale jiný obsah
7. Přítomný licenční soubor na konkrétním PC určuje, zda se pustí 2D či 3D verze. Pokud je 3D verze již pušťěná, zobrazí se při pokusu o druhé spuštění chybové hlášení.

Licenci přehráváme monetálně ručně - mění se to pouze fyzickou změnou licenčního souboru. Tohle bych chtěl řešit skriptem s návratem do 2D režimu.
- první zástupce - přímo na cad
- druhý zástupce - na skript, co změní licenci na 3D, spustí cad a po jeho korektním zakončení změní licenci opět na 2D

Co se děje při spuštění cadu
A) Nahraji licenční soubor pro 2D do adresáře, pustím cad, naběhne ve 2D verzi cadu
b) Nahraji licenční soubor pro 3D do adresáře, pustím cad, licenční server zkontroluje zda je licence volná (nikde neběží 3D verze cadu), pokud ano, pustí se 3D verze cadu.

Kopírování se mě zdá přímější. jelikož v případě, co se občas stává, že je třeba cad přeinstalovat. Licenční soubory se mě moc nechce dolovat z adresáře. Mohly by proto být i se skriptem ve společném adresáři mimo adresář cadu. Šlo by použít i trochu modifikovaný skript, co tu napsal ITCrowd. S tím, že by se při spuštění 3D verze přejmenovala stávající licence na zazálohovanou 2D licenci verzi na něco a poté 3D licence na správný název licence, poté pustil cad a po jeho ukončení by se používaná licence přejmenovala na zaálohovanou 3D licenci a zazálohovaná 2D licence na aktivní licenci. Zjednodušeně řečeno, že by se licenční soubory jen přejmenovávaly a nekopírovaly, jelikož cad licenční soubory se špatným názvem ignoruje. Ale v tom případě by se muselo při přeinstalaci cadu ručně dohrát licence ve správném tvaru do správného adresáře, čemuž bych se radši vyhnul. Takže by případnou přeinstalaci cadu zvládnul kdokoliv i bez mé účasti.
Google ví skoro vše. Ale někdy je problém co tam napsat, aby to našlo to, co hledám.
Pokud se to nepovede, vypadne tuna nepoužitelných odkazů a nebo taky nic.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Automatické přehrávání videa Příloha(y)
    od fafejt » 09 úno 2024 13:59 » v Internet a internetové prohlížeče
    4
    739
    od fafejt Zobrazit poslední příspěvek
    09 úno 2024 17:30
  • Windows 11 OneDrive automatické odstranění
    od ArtisPier » 26 zář 2023 11:41 » v Programy ke stažení
    4
    4485
    od ArtisPier Zobrazit poslední příspěvek
    26 zář 2023 12:29
  • Tisk ELD souboru
    od Jandak » 30 dub 2023 09:53 » v Problémy s hardwarem
    4
    1144
    od Grander Zobrazit poslední příspěvek
    09 čer 2023 21:31
  • Přenos souborů SD - USB flash bez PC
    od Asanoth » 29 črc 2023 17:35 » v Sítě - hardware
    11
    2069
    od Grander Zobrazit poslední příspěvek
    30 črc 2023 15:20
  • Jak hromadně změnit datum a čas souborů?
    od atari » 11 črc 2023 14:41 » v Programování a tvorba webu
    3
    2471
    od X Zobrazit poslední příspěvek
    14 črc 2023 15:17

Zpět na “Windows 11, 10, 8...”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 5 hostů