De akkor ehhez létre kell, hoznom a shortcutot előbb s aztán ezzel másolom? Vagy rosszul értem?
"Tigris, tigris, csóvafény éjszakáknak erdején, mily kéz adta teneked szörnyü és szép termeted?" -William Blake-
De akkor ehhez létre kell, hoznom a shortcutot előbb s aztán ezzel másolom? Vagy rosszul értem?
"Tigris, tigris, csóvafény éjszakáknak erdején, mily kéz adta teneked szörnyü és szép termeted?" -William Blake-
A kettőből kell 1et faragni, vhogy így:
set WshShell = WScript.CreateObject("WScript.Shell" )
strUserProfile = WshShell.ExpandEnvironmentStrings("%USERPROFILE%")
set oShellLink = WshShell.CreateShortcut(Wscript.Arguments.Named(strUserProfile & "\Start Menu\Programs\Startup\a.tx") & ".lnk")
oShellLink.TargetPath = Wscript.Arguments.Named("a.txt")
oShellLink.WindowStyle = 1
oShellLink.Save
Freeware, és akciós programok egy helyen https://www.facebook.com/freewarenews
Ez így a my computernek hoz létre névtelen shortcutot az asztalra (ott van a .vbs is)... Hirtelen ötlettől vezérelve kitörölgettem a Wscript.Arguments.Named előfordulásit s így már alakul de megint az a helyzet mint az előbb... létrehozza a shc-t a megfelelő helyen de amikor rákattintok azt írja hogy az eredeti fájl nem található
"Tigris, tigris, csóvafény éjszakáknak erdején, mily kéz adta teneked szörnyü és szép termeted?" -William Blake-
Mac elött ücsörgök, nem tudom kipróbálni, de ez a videó tuti segít.
Ha kitörlöd azt, hogy mire mutasson a shortcut, naná, hogy nem mutat sehova.
[ Szerkesztve ]
Freeware, és akciós programok egy helyen https://www.facebook.com/freewarenews
Nem töröltem ki teljesen csak
oShellLink.TargetPath = Wscript.Arguments.Named("a.txt")
helyett
oShellLink.TargetPath = "a.txt" - t
írtam... Am végülis ez az átírt verzió működik, csak a fájl neve a.txt helyett a.txt.txt lett és azért nem találta
Köszönöm a segítséget
"Tigris, tigris, csóvafény éjszakáknak erdején, mily kéz adta teneked szörnyü és szép termeted?" -William Blake-
Sziasztok. Ide irányítottak át. Rejtett mappából rejtett fájlt helyeznék át szintén rejtett helyre. Hogyan tegyem. Amikkel eddig próbáltam kicsit körülményes, xcopy,majd del...de a del nem használja a /h kapcsolót.
Az xcopy elméletileg a /H kapcsolóval tud rejtett fájlokkal dolgozni.
Dr.Batcher Business Edition
6 napig ingyenes.
A Dr.Batcher egy olyan segédprogram, amely segít létrehozni és szerkeszteni kötegelt fájlokat (BAT és CMD fájlokat) gyorsan és egyszerűen. Ez a ma elérhető legerősebb és legegyszerűbb szerkesztő. A Dr.Batcher célja, hogy mind a kezdő, mind a haladó felhasználók számára könnyen használható legyen. Két különböző módban működhet: egyszerű és professzionális. Az első módban vizuális szerkesztő és varázslók segítségével hozhatod létre a kódot. A második mód egy profi script szerkesztő buborék súgóval, szintakszis kiemelővel és könyvjelzőkkel. Bármikor átkapcsolhatsz az egyszerű és professzionális mód között, amikor erre szükséged van. Tartalmaz egy varázslót, amivel a batch kódot futtatható programmá alakíthatod EXE, és létrehozhatsz biztonsági másolatot a parancsfájljaidról. Az így létrehozott biztonsági másolatot betömöríti (ZIP, CAB), amit kicsomagolva helyreállíthatod a munkád.
Freeware, és akciós programok egy helyen https://www.facebook.com/freewarenews
Egy visszatérő apróság adódott: dátumok...
Forrás: www.robvanderwoude.com/amb_datetime.php
@echo off
if "%date%A" LSS "A" (set toks=1-3) else (set toks=2-4)
for /f "skip=1 tokens=2-4 delims=(-)" %%a in ('echo:^|date') do (
for /f "tokens=%toks% delims=.-/ " %%d in ('date/t') do (
set %%a=%%d
set %%b=%%e
set %%c=%%f
set toks=
)
)
echo %yy%
echo %mm%
echo %dd%
Kimenete minden általam használni kívánt oprendszeren:
2016
04
13
Sajnos nem értem, hogyan keletkeznek a változók. Esetleg van aki érti és pár mondtaban kiokosítana?
mod:
Na, megvan, ez csinálja:
c:\temp>echo:|date
The current date is: 13/04/2016
Enter the new date: (dd-mm-yy)
Ez feldolgozza a második sort (eltárolja a dátum sorrendet), majd a az első sort, abból kiszedi a dátumot.
Ez pedig a változónevekhez adja a dátumot - az a trükk, hogy a változónév is változóból jön:
set %%a=%%d
set %%b=%%e
set %%c=%%f
Nagyon elmés
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
Köszi, minden világos!
Sziasztok!
Most ismerkedek a Bacth programozással, mert kaptam egy feladatot, de kifogott rajtam.
Azt kellene megvalósítani, hogy a srcipt lekérdezze a rendszertől a hó adott napját, és ezzel a nappal hozzon létre egy új könyvtárat, ahova egy megadott helyről másolja be a mappában lévő összes fájlt. Ez minden nap egyszer fusson le (feladatütemező) az adott hónapban, majd a következő hónapban írja felül a régi fájlokat.
(Hogy honnan hova másoljon az a feladat szempontjából lényegtelen.)
Tudnátok segíteni?
Köszönöm!
hármat olvass vissza.
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
Ez nekem így nem csinál semmit.
Mármint úgy értetted, hogy írja meg már valaki helyetted?
A leveledből nekem úgy tűnt, hogy te szeretnéd megcsinálni, csak valahol elakadtál:
1) hogy lehet fájlokat másolni
2) hogyan lehet a változókat használni
3) hogy lehet a hónap adott napját váltotzóban megkapni
Feltételeztem, hogy az első (esetleg az első kettő) még menne, így csak felhívtam a figyelmed az épp előtted történt beszélgetésre, ami arról szólt, hogy hogyan lehet az aktuális dátumot három változóba (%yy%, %mm%, %dd%) berakni.
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
Szerettem volna egy kis programot irni ami egy több txt böl kiveszi a lényeget és egybe teszi át.
@echo off
setlocal ENABLEDELAYEDEXPANSION
set vidx=0
set /a counter=1
for /f %%a in ('dir *640R*.mod /b /s') do (
set /a counter=!counter!+1
for /F "tokens=*" %%B in (%%a) do (
SET /A vidx=!vidx! + 1
IF "%B:~0,19%" == "LOCAL PERS spotdata" (
echo %%B >> spot.txt
)
set var!vidx!=%%B
)
)
Ez lenne az.
az elgondolás az hogy megkeresi az összes filet megd átnézi a sorokat és ha olyant talál aminek az elsö sora "LOCAL PERS spotdata" akkor azt kiirja egy text fileba...
Mi a gondja ennek?
Mert hogy nem müködik az tuti
Segítségkéréshez: NSA320+FFP; Raspberry Pi2 Openelec/Kodi ;
Igy oldottam meg
(tudom hogy van benne sok felesleges sor ...)
@echo off
setlocal ENABLEDELAYEDEXPANSION
set vidx=0
set /a counter=1
for /f %%a in ('dir *640R*.mod /b /s') do (
echo !counter! %%~pa %%~na >> spot.txt
set /a counter=!counter!+1
for /F "tokens=*" %%B in (%%a) do (
SET /A vidx=!vidx! + 1
set var!vidx!=%%B
set sor=%%B
set sor2=!sor:~0,19!
IF "!sor2!" == "LOCAL PERS spotdata" (
echo %%B >> spot.txt
)
)
set var
set var4=!var4: = !
set var4=!var4: =!
set vidx=0
)
cls
echo Fertig!
pause
Exit
[ Szerkesztve ]
Segítségkéréshez: NSA320+FFP; Raspberry Pi2 Openelec/Kodi ;
Sziasztok!
Egy kis segítséget szeretnék kérni. Egy batch fájlt szeretnék készíteni amivel időközönként az Outlook adatfájljait átmásolom egy hálózati gép megosztott könyvtárába. De valamiért az Outlook mappájával nem működik. A hálózati meghajtón létrehozza a könyvtárat, de a másolás nem fut le. D:-ről másol.
Tudnátok segíteni, hogy mi lehet a gond. Előre is köszönöm!
for /f "tokens=1 delims=. " %%a in ('date /t') do set yyyy=%%a
for /f "tokens=2 delims=. " %%a in ('date /t') do set mm=%%a
for /f "tokens=3 delims=. " %%a in ('date /t') do set dd=%%a
set folderdate=%yyyy%.%mm%.%dd%
net use x: \\NAS\Iroda
md "x:\Gabor\backup\%folderdate%\Outlook\"
xcopy C:\Users\Gábor\AppData\Local\Microsoft\Outlook x:\Gabor\backup\%folderdate%\Outlook\ /e /h /r /y /k /c
net use x: /delete
Az á betű összezavarja, tedd idézőjelbe.xcopy "C:\Users\Gábor\AppData\Local\Microsoft\Outlook" x:\Gabor\backup\%folderdate%\Outlook\ /e /h /r /y /k /c
[ Szerkesztve ]
Freeware, és akciós programok egy helyen https://www.facebook.com/freewarenews
Sziasztok!
Az idézőjel most nem kell, az inkább a filepath-ban szereplő szóközre illetve a command line vezérlő karaktereinek elfedésére van ("<space>|<>/" stb. ), de pont ezért mégiscsak sose árt.
A valószínű megoldást itt tárgyalják, ha mondjuk az egyszerű notapad-dal készült a batch file::
Ékezetes batch file
tehát ?.bat első sorába:chcp 1250
for /f "tokens=1 delims=. " %%a in ('date /t') do set yyyy=%%a
.
.
.
A tanulság: egész egyszerűen nem szabad a user könyvtárat ékezetesnek megadni a Windows telepítése során, és sajnos (úgy tudom) később már nem írható át, ezzel (ékezetes usermappanév) volt nekem régebben a legtöbb problémám, egyéb ékezetes file-okra meg elenyésző, mert legfeljebb átírtam a file nevét angol ABC-re.
[ Szerkesztve ]
- Kivel és mit iszik Orbán? - Tök mindegy! Sörös vagy boros, csak közel legyen Soroshoz.
Ráadásul, ha a felhasználó fogja a fájlt (nyitva van az outlook és fel van csatolva a pst), akkor sem biztos, hogy át tudod másolni.
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
Köszönöm a választ! A "chcp 1250" parancs sem oldotta meg. Így sem másolja át, csak a mappát hozza létre. Próbáltam, hogy kitettem az "" jeleket is.
Azt tudom ha a .pst csatolva van akkor nem engedi másolni, de az outlook le van állatva.
Kérlek próbáljuk meg az alábbit, hogy lássuk mi történik
- Kiütjük a NAS-sal kapcsolatos tevékenységeket
- X. helyett a C: egységre másolunk, hogy lássuk egyáltalán megtörténne-e a másolás csak a gépen NAS nélkül
- pause-t rakunk a végére, hogy lássuk a dos ablakon, a Gábor szó (ékezet) helyesen jelenik-e meg
cp 1250
for /f "tokens=1 delims=. " %%a in ('date /t') do set yyyy=%%a
for /f "tokens=2 delims=. " %%a in ('date /t') do set mm=%%a
for /f "tokens=3 delims=. " %%a in ('date /t') do set dd=%%a
set folderdate=%yyyy%.%mm%.%dd%
Rem net use x: \\NAS\Iroda
md "C:\Gabor\backup\%folderdate%\Outlook\"
xcopy C:\Users\Gábor\AppData\Local\Microsoft\Outlook C:\Gabor\backup\%folderdate%\Outlook\ /e /h /r /y /k /c
Rem net use x: /delete
pause
[ Szerkesztve ]
- Kivel és mit iszik Orbán? - Tök mindegy! Sörös vagy boros, csak közel legyen Soroshoz.
Amit küldtél, lefuttattam és ezt kaptam.
D:\Megosztott>´╗┐cp 1250
'´╗┐cp' is not recognized as an internal or external command,
operable program or batch file.
D:\Megosztott>for /F "tokens=1 delims=. " %a in ('date /t') do set yyyy=%a
D:\Megosztott>set yyyy=2016
D:\Megosztott>for /F "tokens=2 delims=. " %a in ('date /t') do set mm=%a
D:\Megosztott>set mm=08
D:\Megosztott>for /F "tokens=3 delims=. " %a in ('date /t') do set dd=%a
D:\Megosztott>set dd=30
D:\Megosztott>set folderdate=2016.08.30
D:\Megosztott>Rem net use x: \\NAS\Iroda
D:\Megosztott>md "C:\Gabor\backup\2016.08.30\Outlook\"
D:\Megosztott>xcopy C:\Users\Gábor\AppData\Local\Microsoft\Outlook C:\Gabor\backup\2016.08.30\Outlook\ /e /h /r /y /k /c
File not found - Outlook
0 File(s) copied
D:\Megosztott>Rem net use x: /delete
D:\Megosztott>pause
Press any key to continue . . .
A kódtábla parancsa az "cp" vagy "chcp" pontosan. Én chcp-t találtam. De azzal sem jó.
D:\Megosztott>´╗┐chcp 1250
'´╗┐chcp' is not recognized as an internal or external command,
operable program or batch file.
Ahogy nézem az ékezetes karakterek zavarják a dolgokat mert a mappák létrehozása a NAS-on is és a c:/ működik. Korábban próbáltam máshonnan másolni a C:-ről és onnan nem volt gond.
Ami még kimaradt win10 x64 rendszeren próbáltam.
[ Szerkesztve ]
Először is elnézést a hibáért, tényleg chcp és nem cp (lemaradt a másolásból a ch).
Sajnos a Windows 10 dolgaiban nehezebben leszek kompetens, ugyanis win7-ig jutottam még csak el, de
itt több dolog is hibádzik, bár itt csak command ablakról van szó, valószínű minden vátozatlan.
1. Az első sor, a ´╗┐chcp 1250 sor biztos hogy nem tud végrehajtódni, mert (ahogy jelzi is) a ´╗┐chcp karaktersorozattal nem tud mit kezdeni a dos, ezt most úgy tudnánk megoldani, hogy elé egy sorban Rem akarmi-t írsz,
2. Valami nagyon nem stimmel az editorral (milyen szövegszerkesztővel dolgozol ebben a problémában?), mert a G├íbor ékezethibával majdnem biztos, hogy nem fogok tudni tanácsot adni 20 perc alatt. Ha kérhetlek, térj át most az egyszerű Notepad.exe-re.
Ha Gßbor-t (vagy Gábor-t) látunk az xcopy sorban, akkor nyert ügyünk lesz.
2. szeretném látni a karakterkódlapokat, tehát beszúrunk chcp sorokat is, tehát végül is így
Rem akármi
chcp
chcp 1250
chcp
for /f "tokens=1 delims=. " %%a in ('date /t') do set yyyy=%%a
...
és kérlek, ha az xcopy akár hibával, akár jól fut le most, akkor is küldjél légyszíves egy ugyanilyen futáseredményt, mint az elébb
- Kivel és mit iszik Orbán? - Tök mindegy! Sörös vagy boros, csak közel legyen Soroshoz.
Notepad++ használtam szerkesztésre. Korábban próbáltam a notepadot is, azzal felülírni a fájlt de ezek szerint valami hiba történt nem írta megfelelően felül.
Most létrehoztam egy új állományban notepaddal, kódtábla nélkül. Akkor Gßbor lett az ékezetes névből. Beállítottam a kódtáblát "chcp 1250" és az is lefut így. Ez lett az eredmény. (A fájlneveket töröltem)
Köszönöm szépen a segítséget!
D:\Megosztott>chcp 1250
Active code page: 1250
D:\Megosztott>for /F "tokens=1 delims=. " %a in ('date /t') do set yyyy=%a
D:\Megosztott>set yyyy=2016
D:\Megosztott>for /F "tokens=2 delims=. " %a in ('date /t') do set mm=%a
D:\Megosztott>set mm=08
D:\Megosztott>for /F "tokens=3 delims=. " %a in ('date /t') do set dd=%a
D:\Megosztott>set dd=30
D:\Megosztott>set folderdate=2016.08.30
D:\Megosztott>net use x: \\NAS\Iroda
A parancs sikeresen végrehajtva.
D:\Megosztott>md "C:\Gabor\backup\2016.08.30\Outlook\"
A subdirectory or file C:\Gabor\backup\2016.08.30\Outlook\ already exists.
D:\Megosztott>xcopy C:\Users\Gábor\AppData\Local\Microsoft\Outlook x:\Gabor\backup\2016.08.30\Outlook\ /e /h /r /y /k /c
.........................
18 File(s) copied
D:\Megosztott>net use x: /delete
x: sikeresen törölve
D:\Megosztott>pause
Press any key to continue . . .
Sziasztok!
Szeretnék írni egy batch fájlt.
Van egy adott hálózati könyvtár ahova jön egy könyvtár+3 fájl amelyeknek a nevük mindig változik, csak az első 2-3 karakter nem. Viszont az ott levő könyvtár és fájlok mellett van még egy transfered könyvtár ahova másolás után át helyezem a mappát és fájlokat.
Azt szeretném csinálni hogy az ottlevő könyvtárat és 3 fájlt továbbá a könyvtárban levő rengeteg fájlt elmásoljam egy másik hálózati gépre de úgy hogy a cél gépen hozzon létre az aktuális nappal (YYYYMMDD) egy könyvtárat és oda helyezze át.
Transfered
mappa1 <--az 1-es mindig változik
file1
file2
file3
mappánál ezzel próbálkoztam:
xcopy C:\Transfer\Forras\mappa* C:\Transfer\cel\%date% /S
Válaszotok előre is köszönöm!
Üdv,
Üdv, Csaba
Szia!
A másoláshoz és mappa dátumozáshoz kicsit feljebb a hozzászólásaik közt találhatsz alternatívát.
Könyvtárnévben a csillagot nem szereti paraméterként.
FOR /F "tokens=* USEBACKQ" %%F IN (`dir mappa* /D /B`) DO (
xcopy C:\Transfer\Forras\%%F c:\CELMAPPA /S
)
xcopy C:\Transfer\Forras\file* c:\CELMAPPA
Így ezt mind másolja: mappa1, mappa2, ..., file1, file2, ...
A dátumozást pedig kicsit feljebbről okoskodd bele!
Szívesen!
És akkor még egy segítség
Ha notepad++-t használod, akkor a batch file-ban maradjon minden úgy ahogy elküldted a legutóbbi hozzászólásodban (tehát a "chcp 1250"-nel) és a np++-ban be lehet/kell állítani ezt a codepage-t (természetesen csak akkor, ha magyar ékezetes fileneveket használsz) a bat file-ra magára is a következő módon, de ez nem állítja a többi file codepage-t az nppp-ban:
Ezt a menüpontot (a menüfában) ki kell választan (kép)i
- Kivel és mit iszik Orbán? - Tök mindegy! Sörös vagy boros, csak közel legyen Soroshoz.
Értem, köszi ezt az infót!
Sziasztok! Bocs, ha alap kérdés, még csak most ismerkedem a témával:
Azt kellene bekérnie a batch-nek futás közben, hogy egy adott szoftverből a 32 v. a 64 bites verziót akarja-e telepíteni a user.
Eddig jutottam, de nem műxik vmiért az IF:
> type autoinstall_teszt.bat
@echo Melyik Internet Explorer verziot telepitsem?
@echo 1 - 32bites
@echo 2 - 64bites
SET /P BIT=
@IF "%bit" == "1" echo egyes
@IF "%bit" == "2" echo kettes
:egyes
@echo 32 bites IE telepitese
@SET BIT=0
@goto kesz
:kettes
@echo 64 bites IE telepitese
@SET BIT=0
:kesz
@pause
Tudnátok segíteni, hogy hol a hiba, vagy esetleg van-e valamilyen frappánsabb megoldás erre? Előre is köszönöm!
Goto kell az ugráshoz. Goto után szabad kettőspontot rakni a címke elé, de engem zavart, ezeket töröltem.
Változók leggyakrabban batch fájlokban: %valt%. Ciklusváltozóknál %%i.
User input esetén mindig legyen valami alap hibakezelés is. Itt csak annyi a trükk, hogy elöl legyen, ha valamiért nem futnak le a goto-k, akkor mindenképpen belefut a hibába.
Type sort REM-eltem, az csak kiírja a batch file tartalmát a képernyőrem gondolom ez nem kell.
REM type autoinstall_teszt.bat
@echo Melyik Internet Explorer verziot telepitsem?
@echo 1 - 32bites
@echo 2 - 64bites
@SET /P bit=
@IF "%bit%" EQU "1" goto egyes
@IF "%bit%" EQU "2" goto kettes
goto error
:error
@echo kilepek, mert nem 1 es nem 2.
exit /b 1
:egyes
@echo 32 bites IE telepitese
@SET BIT=0
@goto kesz
:kettes
@echo 64 bites IE telepitese
@SET BIT=0
:kesz
@pause
Ha az elejére raksz egy @echo OFF sort, akkor nem kell minden sor elejére a @.
Ha csak az OS-nél érdekel, hogy 32b vagy 64b, azt úgy szoktuk megnézni, ha van Program Files x86 könyvtár, akkor 64bites a windows.
Nagyon szépen köszönöm!
Az echo offot még azért nem használtam, mert látni akartam, melyik sor fut, a végén terveztem betenni, amikor teljesen elkészültem.
A 32/64 bit választás azért kell, mert előfordulhat olyan eset, hogy egy programból a 64 bites Win ellenére 32 bitest akarunk telepíteni.
Még egyszer nagyon szépen köszönöm, kiválóan műxik!
Sziasztok!
Nem tudom, hogy jó helyre írok-e, de van egy kis problémám, amit valószínűleg egy batch fájllal könnyen meg lehetne oldani. Két videokártyát használok, két különböző monitorhoz, és a Photoshop csak úgy hajlandó megfelelően működni, ha amíg elindítom, addig letiltom az első videokártyát, és utána ismét engedélyezem. Ezt a folyamatot szeretném úgy megoldani, hogy
1, Letiltsa a videokártyát (azonosító alapján gondolom megoldható)
2, Photoshop.exe fájlt elindítsa a cmd, amit elindítok
3, Engedélyezze az eszközt ismét, mondjuk 5mp-el a Photoshop.exe elindítása után (ennyi idő alatt betölt a PS)
Esetleg valaki tudna segíteni? Az is jó, ha megír egy ilyet, én pedig majd átírom a paramétereket megfelelőre.
Köszi!
Sajnos már nem tudom szerkeszteni, de úgy néz ki, hogy sikerült megoldani.
Van egy bginfo nevű proggi, ami a háttérképre rátesz különböző paramétereket, gépnév, ip cím, stb., amit szeretne a user. Ez paraméterezhetően indítható, ezzel nincs is gond, rendesen műxik a batch-ben.
A gondom az, hogy így a saját user-em hátterét kicseréli ugyan, ill. ráteszi az infókat, de nekem az kellene, hogy az összes user hátterét kicserélje, aki csak bejelentkezik a gépbe (alluser), tehát minden user-nek legyenek kint az asztalán az infók.
Hogyan tudom indítani a batch-ben a bginfo-t úgy, hogy alluserre legyen hatással, ne csak az én useremre?
[ Szerkesztve ]
Vagy be kell tenni a HKLM Run-ba, vagy az alluser StartUp-ba.
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
Igen, köszi, ez lesz a megoldás BGInfo ügyben.
Ettől függetlenül érdekelne, hogy batch-el hogyan lehet indítani egy alkalmazást rendszergazdaként? Nem találtam erről infót.
[ Szerkesztve ]
rendszergazdaként?
runas vagy task shceduler - az utóbbi jobb, mert ott nem látszik password
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
Köszönöm szépen!
Sziasztok,
próbálok egy egyszerű apache tomcat stop/start, deploy app scriptet összehozni.
Első lefutásra elmarad az if igaz ág tartalma és létrejön a lock file, majd indul a tomcat.
Második lefutásnál létezik a lock ezért lefut az if statement, viszont az if utáni két sor nem.
Mi a hiba, hogy javítsam?
d:
cd "D:\Apache Tomcat 8.0.27\bin\"
if exist lock.lck (
shutdown.bat
del /F lock.lck
timeout 1
)
echo lock >> lock.lck
startup.bat
[ Szerkesztve ]
-- end of transmission --
Biztos jó a könyvtár?
írass ki az IF előtt egy Errorlevel-t:
echo %ERRORLEVEL%
Hátha nem tud belépni a könyvtárba.
Másrészt használhatot a következő formát is:
CD /D D:\Apache Tomcat 8.0.27\bin\
Egyrészt a /D meghajtót is vált, másrészt a CD-nek nem kell macskaköröm a path-hoz.
cmd-ket pedig ne magukba, hanem CALL-lal hívd és lehetőleg ellenőrizd az ERRORLEVEL-t utána (hogy sikeresen lefutott-e).
[ Szerkesztve ]
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
Szia,
ha call-al hívod a külső batch scripteket call ugyanez a helyzet?
Nem-e eseteg az van, hogy a shutdown végén van egy exit és amikor az kilép nem adódik ide vissza a vezérlés? (ha így van azt onnan látod, hogy már a timeout sem fut le)
Üdv,
Csontikka
call-al is meghívtam most, ugyanez az eredmény.
a timeout lefut.
#sztanozs: errorlevel értéke 0 IF előtt közvetlenül. A mappába zicher, hogy be tud lépni, mert elindítja és leállítja az alkalmazást.
az utána való ellenőrzést úgy értettem, hogy abban a cmd-ben ahonnét call-al meghívtam a scriptet, nyomtam egy echo %ERRORLEVEL%-t. szintúgy 0 az eredmény.
Jó, nagyon dummy vagyok batch-hez, most fogtam fel, hogy a stop/start batch-eket call-al hívjam fel.
Köszönöm a felvilágosítást, pöpecül megy
[ Szerkesztve ]
-- end of transmission --
Sziasztok
Még csak ismerkedem a batch programozással, de máris lenne egy megoldandó feladat amit egyenlőre nem tudok eldönteni meg lehetne e oldani.
az oprendszer win7 embedded és adott lenne egy file amit egy program minden futási ciklus után felül ír a friss adatokkal, erről a fileról kellene mentést csinálni, méghozzá úgy hogy amikor változott a file tartalma másolja \ helyezze át egy mappába. Napi 350-400 változásról beszélünk. A nyomonkövethetőség érdekében az volna a kiváló ha valamilyen úton létre lehetne hozni automatikusan mappákat mondjuk az alábbi szisztéma szerint:
2017.01.01_12.04.05 szóval az aktuális dátum és az aktuális win szerinti idő és az éppen aktuális file-t ide pakolja
Szerintetek ez megoldható volna valahogy?
ezt szvsz batch-csel nem csinálod meg, hacsak nem te indítod a programot (minden alkalommal) amikor felülírja. HA egy futó process módosítgatja, akkor valami filerendszer filter driver-t kell csinálnod hozzá (vagy valami alkalmazást, ami folyamatosan szknenneli a fájlt, és ha változott, akkor lemásolja. De a második esetben simán lehet, hogy kimarad egy-két változat, ha gyakrabban változik a fájl, mint ahogy ellenőrzöd.
JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...
Okés, köszi a választ akkor ez így sajnos nem lesz jó
(#799) sellerbuyer válasza magyarzoltan (#798) üzenetére
(#800) magyarzoltan válasza sellerbuyer (#799) üzenetére
sajnos ez ide kevés, mivel teljesen rendszertelenül történik az írás, teszem azt 12ó21p.15mp-kor történik egy módosítás utánna történi 92mp múlva majd 16 múlva majd 104 múlva majd 29 múlva stb stb a megoldás amúgy az lett hogy bele kell nyúlni a merő programba, mivel ez egy komplex célgép millio D I\O amik interlockolva vannak a vezérlő PLC-vel,, a PLC-ről felhasználva az OK jelet 1ms késleltetéssel lesz indítva a csv mentés 1500ms delayyel pedig jön ugyan ezen az I\O- n egy OK2 jel, amíg ez nincs meg tiltva van az újra indítás és a mérés, de mivel ugye ezt a gyártónak kelle megcsinálni, egy kisebb vagyon lesz