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
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 10:56

hele bude běh na delší trať. uvidíme a poznáme. snad se mi do pátku povede napsat prototyp dávky. až si to přečteš než to spustíš sám uvidíš jestli v tom má cenu pokračovat. dávku jsem pojal velkolepě tak aby se nemusela přepisovat snad to bude vyhovovat. k poznámkám od tebe se ještě vrátím já jen že to nebude dávka pod 100 řádků tak měj strpení.
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.

Reklama
Uživatelský avatar
Speed_dead
Level 6
Level 6
Příspěvky: 3281
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 10:58

Tak to mě nenapadlo, že to bude až tak složitý. Původně jsem měl zato, že do skriptu ITCrowd se prohodí přejmenování za kopírování a bude hotovo. Nemám tušení, jak si dospěl k tak rozsáhlému skriptu, ale nechci zbytečně dělo na vrabce. i proto, že si vážím tvého času, co bys tím strávil. :eh:

Takže ještě jednou to co jsem si myslel, že by to dělalo:

Kód: Vybrat vše

Vymaže se Selicence.dat
Do adresáře, kde byla  Selicence.dat, se zkopíruje Selicence.3D
Selicence.3D se přejmenuje na Selicence.dat
spustí se cad s čekáním na jeho ukončení
poté
Vymaže se Selicence.dat
Do adresáře, kde byla Selicence.dat, se zkopíruje Selicence.2D
Selicence.2D se přejmenuje na Selicence.dat


Selicence.dat - aktivní licence
Selicence.2d - možný název pro 3D licenci
Selicence.3D - možný název pro 2D licenci

Možná jde při kopírování současně soubor i přejmenovat a přepsat bez potvrzení aktivní licenci. Pak by se skript omezil pouze na 3 aktivní řádky. Kontrola, co běží či jaká je na druhým PC nastavená aktivní licence je pro mě zbytečný luxus
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 14:43

Tak hotovo snad je to v pořádku a píšu tak jak znám ono mnoho cest vede do Říma. Přílohu rozbal na kořen disku C:
pro ty kdož si to nechtějí stahovat a jsou lačni studovat dávka v CODE

Kód: Vybrat vše

@echo off
title Autocad 2D or 3D
if not exist C:\CatStrtUtil\Zdroj2D.TXT goto Nastav2D
:HlMnu
cls
echo  01
echo  1 - Nastavit vstupní parametry utility "Autocad 2D or 3D"?
echo  2 - Spustit Autocad 2D
echo  3 - Spustit Autocad 3D
echo  4 - Odhlásit uživatele Autocad 3D
echo  5 - Ukončit dávku bez akce
echo.
set Key=
set /p Key= Stiskem příslušné klávesy vyberte možnost a po té stikněte klávesu"Enter":
if "%KEY%"=="1" goto Nastav2D
if "%KEY%"=="2" goto Spust2D
if "%KEY%"=="3" (
if exist C:\CatStrtUtil\UZV3D.TXT goto Obsazeno
goto Spust3D
)
if "%KEY%"=="4" (
cls
echo.
if not exist C:\CatStrtUtil\UZV3D.TXT echo  Není uložen žádný uzivatel 3D alilikace
if exist C:\CatStrtUtil\UZV3D.TXT del C:\CatStrtUtil\UZV3D.TXT
if exist C:\CatStrtUtil\UZV3D.TXT echo  Uzivatel 3D alilikace byl vymazán z paměti PC
ping -n 6 localhost >nul
goto HlMnu
)
if "%KEY%"=="5" exit
cls
echo.
echo   Použita klávesa mimo povolený výběr
echo.
pause
goto HlMnu

:Obsazeno
cls
echo  21
echo  Chyba! K užívání 3D aplikace je doposud přihlášen uživatel:
type C:\CatStrtUtil\UZV3D.TXT
echo.
pause
goto HlMnu

:Nastav2D
cls
echo.
echo  Než budete pokračovat maximalizujte prosím okno dávky.
echo.
pause
if exist C:\CatStrtUtil\*.TXT del C:\CatStrtUtil\*.TXT
:2D
cls
echo  02
echo  Nastavení cesty ke zdrojovému souboru s 2D licencí
echo.
set Cesta=
set /p Cesta= Zadejte název souboru bez cesty a přípony pro soubor 2D Pak stiskněte Enter:
cls
echo.
echo  Na disku C: vyhledávám soubory s názvem "%Cesta%" To může chvíli trvat!
cd\
Dir C: /S /B > C:\CatStrtUtil\TMP.TXT
Find/i "%Cesta%" C:\CatStrtUtil\TMP.TXT
if "%ErrorLevel%"=="1" (
cls
echo.
echo  Chyba Soubor s názvem "%Cesta%" nebyl na disku C: nalezen
echo.
pause
goto 2D
)
echo.
set Cesta=
set /p Cesta= Zadejte název správného souboru 2D aplikace včetně cesty a přípony. Pak stiskněte Enter:
if not exist "%cesta%" (
cls
echo  03
echo  Chyba! Soubor s licencí 2D nebyl nalezen!
echo.
pause
goto 2D
)
cls
echo  04
echo  Ukládám vámi zapsanou cestu do C:\CatStrtUtil\Zdroj2D.TXT
if not exist C:\CatStrtUtil MD C:\CatStrtUtil
echo %Cesta% > C:\CatStrtUtil\Zdroj2D.TXT
echo.
if exist C:\CatStrtUtil\Zdroj2D.TXT (
echo  %Cesta%
echo.
echo  Cesta úspěšně uložena do C:\CatStrtUtil\Zdroj2D.TXT
echo.
pause
) else (
echo  Chyba! nebyl nalezen soubor s uloženou cestou!
echo  %Cesta%
echo.
pause
exit
)
:Nastav3D
cls
echo  05
echo  Nastavení cesty ke zdrojovému souboru s 3D licencí
echo.
set Cesta=
set /p Cesta= Zadejte název souboru bez cesty a přípony pro soubor 3D Pak stiskněte Enter:
cls
echo.
echo  Na disku C: vyhledávám soubory s názvem "%Cesta%"
Find/i "%Cesta%" C:\CatStrtUtil\TMP.TXT
if "%ErrorLevel%"=="1" (
cls
echo.
echo  Chyba Soubor s názvem "%Cesta%" nebyl na disku C: nalezen
echo.
pause
goto Nastav3D
)
echo.
set Cesta=
set /p Cesta= Zadejte název správného souboru 3D aplikace včetně cesty a přípony. Pak stiskněte Enter:
if not exist "%cesta%" (
cls
echo  03
echo  Chyba! Soubor s licencí 2D nebyl nalezen!
echo.
pause
goto Nastav3D
)
cls
echo  07
echo  Ukládám vámi zapsanou cestu do C:\CatStrtUtil\Zdroj3D.TXT
echo %Cesta% > C:\CatStrtUtil\Zdroj3D.TXT
echo.
if exist C:\CatStrtUtil\Zdroj3D.TXT (
echo.
echo  %Cesta%
echo.
echo  úspěšně uložena do C:\CatStrtUtil\Zdroj3D.TXT
echo.
pause
) else (
echo  Chyba! nebyl nalezen soubor s uloženou cestou!
echo  %Cesta%
echo.
pause
exit
)
:NastavCíl
cls
echo  08
echo  Nastavení cesty kam uložit v CAD soubor s licencí
set Cesta=
set /p Cesta= Zadejte název cílového souboru, který má být přepsán a to bez cesty a přípony Pak stiskněte Enter:
cls
echo.
echo  Na disku C: vyhledávám soubory s názvem "%Cesta%"
Find/i "%Cesta%" C:\CatStrtUtil\TMP.TXT
if "%ErrorLevel%"=="1" (
cls
echo.
echo  Chyba Soubor s názvem "%Cesta%" nebyl na disku C: nalezen
echo.
pause
goto NastavCíl
)
echo.
set Cesta=
set /p Cesta= Zadejte plnou cestu včetně názvu souboru a přípony pro soubor v CAD Pak stiskněte Enter:
if not exist "%cesta%" (
cls
echo  09
echo  Chyba! Soubor s licencí v CAD nebyl nalezen!
echo.
pause
goto NastavCíl
)
cls
echo  10
echo  Ukládám vámi zapsanou cestu do C:\CatStrtUtil\CIL.TXT
echo %Cesta% > C:\CatStrtUtil\CIL.TXT
echo.
if exist C:\CatStrtUtil\CIL.TXT (
echo  %Cesta%
echo.
echo  úspěšně uložena do C:\CatStrtUtil\CIL.TXT
echo.
pause
If exist C:\CatStrtUtil\TMP.TXT del C:\CatStrtUtil\TMP.TXT
If exist C:\CatStrtUtil\UZV.TXT del C:\CatStrtUtil\UZV.TXT
) else (
echo  Chyba! nebyl nalezen soubor s uloženou cestou!
echo  %Cesta%
echo.
pause
exit
)
:NastavCad
cls
echo  11
echo  Nastavení cesty ke spouštěcímu souboru Autocad
echo.
set Cesta=
set /p Cesta= Zadejte plnou cestu včetně názvu souboru a přípony pro spouštěcí soubor Autocad. Pak stiskněte Enter:
if not exist "%cesta%" (
cls
echo  12
echo  Chyba! Spouštěcí soubor Autocad nebyl nalezen!
echo.
pause
goto NastavCad
)
cls
echo  13
echo  Ukládám vámi zapsanou cestu do C:\CatStrtUtil\CAD.TXT
echo %Cesta% > C:\CatStrtUtil\CAD.TXT
echo.
if exist C:\CatStrtUtil\CAD.TXT (
echo  %Cesta%
echo  úspěšně uložena do C:\CatStrtUtil\CAD.TXT
echo.
pause
If exist C:\CatStrtUtil\UZV.TXT del C:\CatStrtUtil\UZV.TXT
) else (
echo  Chyba! nebyl nalezen soubor s uloženou cestou!
echo  %Cesta%
echo.
pause
exit
)

:Uzivatel
cls
echo  14
echo  Zapište pořadové číslo {1,2,3 až 9}odtržítko{_}a jméno uživatele licence CAD
echo.
echo  Příklad:
echo  1_Karel
echo.
echo  Vložením číslice 0 přejdete k další nabídce.
echo  POZOR pořadová čísla uživatelů se nesmí opakovat!
echo.
set Key=
set /p Key= Po zapsání stiskněte Enter:
if "%Key%"=="0" goto CtrlNast
echo %Key% >> C:\CatStrtUtil\UZV.TXT
cls
echo  15
echo  Doposud zapsaní uživatelé:
type C:\CatStrtUtil\UZV.TXT
echo.
echo  Jsou doposud zapsaní uživatelé zapsáni správně?
set Key=
set /p Key= [A;N - nebo jiná klávesa] po té stiskněte Enter:
if "%KEY%"=="A" goto Uzivatel
if "%KEY%"=="a" goto Uzivatel
cls
echo  16
echo  Podle vaší volby je v zápisu uživatelů chyba! Nyní smažu celý zápis!
echo  Zadejte znou uživatele od pořadového čísla 1
echo.
pause
del C:\CatStrtUtil\UZV.TXT
goto Uzivatel

:CtrlNast
cls
echo.
echo Závěrečná kontrola vložených parametrů:
echo.
echo Umístění souboru pro 2D licenci:
type C:\CatStrtUtil\Zdroj2D.TXT
echo.
echo Umístění souboru pro 3D licenci:
type C:\CatStrtUtil\Zdroj3D.TXT
echo.
echo Umístění cílového souboru s licencí určeného k přepsání:
type C:\CatStrtUtil\CIL.TXT
echo.
echo Umístění spouštěcího souboru AutoCad
type C:\CatStrtUtil\CAD.TXT
echo.
echo Přehled uživatelů 3D aplikace:
type C:\CatStrtUtil\UZV.TXT
echo.
pause
goto HlMnu

:Spust2D
if exist C:\CatStrtUtil\Zdroj2D.TXT if exist C:\CatStrtUtil\CIL.TXT if exist C:\CatStrtUtil\CAD.TXT goto Pust2
cls
echo.
echo  Chyba! Nebyl nalezen některý ze souborů obsahující nastavení pro spuštění 2D
echo  Prosím proveďte nové nastavení vstupních parametrů dávky Autocad 2D or 3D
echo.
pause
goto HlMnu

:Pust2
for /F "delims=¨" %%a in (C:\CatStrtUtil\Zdroj2D.TXT) do set Zdroj=%%a
for /F "delims=¨" %%a in (C:\CatStrtUtil\CIL.TXT) do set Cil=%%a
for /F "delims=¨" %%a in (C:\CatStrtUtil\CAD.TXT) do set Cad=%%a
copy "%Zdroj%" "%Cil%"
echo  17
echo  Kopírování je dokončeno Spouštím Autocad
Call "%Cad%"
exit

:Spust3D
if exist C:\CatStrtUtil\Zdroj3D.TXT if exist C:\CatStrtUtil\CIL.TXT if exist C:\CatStrtUtil\CAD.TXT goto Pust3
cls
echo.
echo  Chyba! Nebyl nalezen některý ze souborů obsahující nastavení pro spuštění 3D
echo  Prosím proveďte nové nastavení vstupních parametrů dávky Autocad 2D or 3D
echo.
pause
goto HlMnu

:Pust3
cls
echo  18
set Key=
set /p Key= Zadejte pořadové číslo uživatele 3D aplikace. Pak stikněte Enter :
if "%Key%"=="1" goto ZapisPust
if "%Key%"=="2" goto ZapisPust
if "%Key%"=="3" goto ZapisPust
if "%Key%"=="4" goto ZapisPust
if "%Key%"=="5" goto ZapisPust
if "%Key%"=="6" goto ZapisPust
if "%Key%"=="7" goto ZapisPust
if "%Key%"=="8" goto ZapisPust
if "%Key%"=="9" goto ZapisPust
cls
echo  19
echo  Chyba! Použita klávesa "%Key%" mimo povolený výběr
echo.
pause
goto Spust3D

:ZapisPust
Find "%Key%" C:\CatStrtUtil\UZV.TXT > C:\CatStrtUtil\UZV3D.TXT
for /F "delims=¨" %%a in (C:\CatStrtUtil\Zdroj3D.TXT) do set Zdroj=%%a
for /F "delims=¨" %%a in (C:\CatStrtUtil\CIL.TXT) do set Cil=%%a
for /F "delims=¨" %%a in (C:\CatStrtUtil\CAD.TXT) do set Cad=%%a
copy "%Zdroj%" "%Cil%"
echo.
echo  Kopírování je dokončeno Spouštím Autocad
Call "%Cad%"
cls
echo  20
echo  Po stisku libovolné klávesy bude dávka ukončena a budete odhlášen z užívání
echo  3D Aplikace
pause >Nul
del C:\CatStrtUtil\UZV3D.TXT
exit
Přílohy
CatStrtUtil.rar
(2.12 KiB) Staženo 32 x
Naposledy upravil(a) Jan Pašek dne 07 kvě 2010 23:17, celkem upraveno 1 x.
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: 3281
Registrován: duben 10
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Automatické nahrazování souboru

Příspěvekod Speed_dead » 07 kvě 2010 09:32

Tak jsem to zkoušel a zasek jsem se hned na začátku. Už jsem kvůli tomu licenčí soubory i baťák nahrál do rootu C a stále nic. Soubor se 2d licencí se jmenuje SELicence.2D. Když zadám kde je 2D licence, napíše mě to, že soubor nenalezen. Psal jsem to C:\SELicende.2d a pořád nic.

Pokud to chápu dobře, tak baťák poběží celou dobu na pozadí toho cadu, ve kterým budu pracovat. Takže doufám, že až budu psát různý číselný hodnoty, že na to baťák bude reagovat jen v případě, když budu do toho okna přepnutý a ne i na pozadí.

Tohle je možná až zbytečně rozsáhlý. Stačilo by mě aby to dělalo vše bez voleb a po ukončení samo vrátilo licenci na 2D. Cesty by tam byly nastavený natvrdo. Jen to, co co jsem psal v minulým příspěvku v code. Jedinou obsluhu jsem předpokládal v puštění baťáku či scriptu. Bez jakýchkoliv dalších voleb.
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 » 07 kvě 2010 11:14

doprčic mě to chodilo netestovanou věc bych nepustil zas na druhou stranu nebýt v té dávce ověření tak ti to způsobí že se nakopíruje jinam nebo několikrát a podobně. dnes mám bohužel na pilno dám vědět a ještě se ti budu věnovat možná že by nebylo k zahození dát si schůzku ONline a společně přijít na to kde je problém zakopaný.
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.

Uziv00
Pohlaví: Nespecifikováno

Re: Automatické nahrazování souboru

Příspěvekod Uziv00 » 07 kvě 2010 16:56

Tak jsem to stvořil, u mě dobrý :smile:
K tomu: v Const uvedeny cesty k souborům licencí, filedat je umístění licenčního souboru co testuje Cad.
Cesta ke spouštěcímu souboru je v uvozovkách za WshShell.Run
Předpoklad je, že 2D cad si každý spustí normálně sám, 3D se bude spouštět přes Script.
Upozornění: Nejsem profesionální programátor, takže nesjou ošetřeny chyby za běhu, jsou jen potlačeny. Pro zobrazení chyb stačí dát apostrof před On Error Resume Next.
Ostřílení programátoři prominou :D
Kód dole zkopírovat a uložit jako textový soubor. Příponu přejmenovat z .txt na .vbs
//Ještě mě napadlo, možná neuplyne dost času mezi přepsáním souboru a testem licence. Pak by stačilo před proceduru spuštění zařadit příkaz Wscript.Sleep 1000 - číslo udává pozastavení scriptu v milisekundách
//A ještě jedna věc - pro dlouhý název se příkaz změní př. (WshShell.Run """C:\Program Files\Microsoft Office\Office\Excel.exe""", 1, True)

Kód: Vybrat vše

'EtiennaScript
'www.dokonalepc.cz
'pro PChelp
'v 1.0
'Prepis licenci Acad

Const file2d = "F:\selicence\selicence2d.dat"
Const file3d = "F:\selicence\selicence3d.dat"
Const filedat = "F:\selicence\licens_adr\selicence.dat"

On Error Resume Next

Set fso = CreateObject("Scripting.FileSystemObject")

'mazani
Set oFile = fso.GetFile(filedat)
oFile.Delete

'nastaveni 3D
Set oFile = fso.GetFile(file3d)
oFile.Copy filedat

'Spusteni programu
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "F:\selicence\calc.exe", 1, True

'navraceni 2D
Set oFile = fso.GetFile(file2d)
oFile.Copy filedat, True

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 » 07 kvě 2010 23:13

Aby to tu nebylo 20x dávku jsem ještě upravil ale jen drobně a přepsal tu původní v příloze také je aktualizován obsah v code.
Nemám problém s jejím chodem znovu testováno na WinXP home a mě chodí.
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.

Uziv00
Pohlaví: Nespecifikováno

Re: Automatické nahrazování souboru

Příspěvekod Uziv00 » 07 kvě 2010 23:55

Ahoj Honzo,
to není nic proti tobě, ale myslím, že možnost výběru by měla být dána. jinak mezi námi, klobouk dolů, něco takového jako ty bych nikdy dohromady nedal.

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 » 08 kvě 2010 11:56

To ITCrowd Takto to myšleno nebylo ať si sám vybere co je pro něj lepčí jen mi připadlo zbytečné kvůli změně cca 20-ti řádků znovu vkládat prakticky to samé a zabírat tu místo.
Je pravda že později příchozí nemají možnost porovnat tak jen slovně co bylo přidáno:
Odstraněna chyba návratu k zadání cesty pro 2D kdy po vyhlášení chyby bylo navráceno až na upozornění na maximalizaci okna.
Přidáno prohledání disku C: na zadaný výraz tak aby se po prohledání zobrazila kompletní cesta k souboru. Teprve potom je požadováno kompletní zadání cesty.

Analíza chyb u uživatele:
Uprava byla udělána protože se domnívám že při testu u uživatele byl zadán chybně název souboru nyní je to jen opsat.
Dále může být chyba že spouští dávku v jiném operačním systému než byla dávka testována nebo ji spouští s účtu jež nemá oprávnění - správce WinXP, Administrátora WinVista, Win7

Další možné úpravy:
Pokud je nepřípustný běh dávky na pozadí lze zaměnit volací příkaz z Call na Start u spuštění 2D bude dávka ukončena ihned po spuštění u 3D čeká na odhlášení uživatele. Jen k záměně malé upozornění Při testování s příkazem Start se dávka nechovala korektně.
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: 3281
Registrován: duben 10
Bydliště: Praha
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Automatické nahrazování souboru

Příspěvekod Speed_dead » 18 kvě 2010 08:59

Tak jsem se konečně dostal k vyzkoušení kódu od ITCrowd. Původní cesty k souborům jsem upravil na svoje. Jinak jsem jen vypnul přeskakování chyb.

Proběhne nastavení cest souborů (doufám - žádné chyby to nehází)
Proběhne smazání aktuální aktivní licence
Avšak vytvoření nové aktuální licence již neproběhne a vyběhne následující chyba:

Řádek:20
Znak: 1
Chyba: Soubor nebyl nalezen
Kód: 800A0035
Zdroj: Microsoft VBScript - chyba při běhu programu


Zde je script, u něhož jsem upravil cesty k souborům:

Kód: Vybrat vše

'EtiennaScript
'www.dokonalepc.cz
'pro PChelp
'v 1.0
'Prepis licenci Acad

Const file2d = "C:\Licence\SELicence.2d"
Const file3d = "C:\Licence\SELicence.3d"
Const filedat = "C:\Program Files\Solid Edge ST\Program\SELicense.dat"

'On Error Resume Next

Set fso = CreateObject("Scripting.FileSystemObject")

'mazani
Set oFile = fso.GetFile(filedat)
oFile.Delete

'nastaveni 3D
Set oFile = fso.GetFile(file3d)
oFile.Copy filedat

'Spusteni programu
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run """C:\Program Files\Solid Edge ST\Program\Edge.exe""", 1, True

'navraceni 2D
Set oFile = fso.GetFile(file2d)
oFile.Copy filedat, True


Cesta k používané licenci
"C:\Program Files\Solid Edge ST\Program\SELicense.dat"
Cesta ke 2D licenci
C:\Licence\SELicense.2D
Cesta ke 3D licenci
C:\Licence\SELicense.3D
Cesta ke spouštěnému programu
"C:\Program Files\Solid Edge ST\Program\Edge.exe"

Cesty jsem zkopíroval ze zástupců, co jsem vytvořil, abych měl 100% jistotu, že jsem se v cestě neupsal. Přetím, když jsem se upsal, tak Soild Edge (bez náhrady licence) naběhnul bez problémů. Problém s rychlostí skriptu není.

Edit: Už jsem si myslel, že když mám na HDD "licence.DAT" a ve skriptu "licence.dat" že je to ten problém, ale jak se ukázalo, tak není.
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.

Uziv00
Pohlaví: Nespecifikováno

Re: Automatické nahrazování souboru

Příspěvekod Uziv00 » 18 kvě 2010 09:14

Myslím, že je třeba upravit cestu v konstantě - používání dlouhých názvů:
Const filedat = """C:\Program Files\Solid Edge ST\Program\SELicense.dat"""
// další možnost je nastavení přístupových práv souborů v C:\licence\
Naposledy upravil(a) Uziv00 dne 18 kvě 2010 09:53, celkem upraveno 1 x.

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

Re: Automatické nahrazování souboru

Příspěvekod Speed_dead » 18 kvě 2010 09:51

Vyzkoušeno, ale tudy cesta nevede. Zarazí se to na 16 řádku s tím, že soubor nenalezen. Je to řádek, kde se maže aktivní licence, jenž se předtím smazala. Takže nastavení filedat pro mazání bylo správný. Otázkou zůstává, zda se pro mazání a tvorbu souboru nemusí nastavit proměnný různě.

Edit: Zkusi jsem nastavit novou proměnnou pro tvorbu souboru s """, ale nepomohlo to.
Naposledy upravil(a) Speed_dead dne 18 kvě 2010 09:57, celkem upraveno 1 x.
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
  • automaticke nastaveni velikosti komentare v Excelu
    od Mikik Block » 04 zář 2024 15:17 » v Kancelářské balíky
    0
    3282
    od Mikik Block Zobrazit poslední příspěvek
    04 zář 2024 15:17
  • Blokování stahovaných souborů
    od Riviera kid » 07 čer 2025 16:47 » v Windows 11, 10, 8...
    10
    4643
    od Riviera kid Zobrazit poslední příspěvek
    16 čer 2025 06:56
  • Velikost souboru a složek na disku
    od L.L » 05 úno 2025 11:50 » v Vše ostatní (sw)
    5
    3488
    od L.L Zobrazit poslední příspěvek
    05 úno 2025 17:42
  • Program na hledání poškozených souborů JPG Příloha(y)
    od Rosta_Kolmix » 09 lis 2024 11:01 » v Design a grafické editory
    2
    4703
    od Minapark Zobrazit poslední příspěvek
    15 lis 2024 11:04
  • IDM hláška o nemožném stažení souboru Příloha(y)
    od bluenite » 04 črc 2024 11:08 » v Vše ostatní (inet)
    2
    4525
    od bluenite Zobrazit poslední příspěvek
    06 črc 2024 19:40

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

Kdo je online

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