Hirdetés

2024. április 19., péntek

Gyorskeresés

Hozzászólások

(#751) kemkriszt98 válasza cigam (#750) üzenetére


kemkriszt98
aktív tag

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-

(#752) cigam válasza kemkriszt98 (#751) üzenetére


cigam
félisten

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

(#753) kemkriszt98 válasza cigam (#752) üzenetére


kemkriszt98
aktív tag

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-

(#754) cigam válasza kemkriszt98 (#753) üzenetére


cigam
félisten

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

(#755) kemkriszt98 válasza cigam (#754) üzenetére


kemkriszt98
aktív tag

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 :B
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-

(#756) brickm


brickm
őstag

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.

(#757) Zsol@ válasza brickm (#756) üzenetére


Zsol@
csendes tag

Az xcopy elméletileg a /H kapcsolóval tud rejtett fájlokkal dolgozni.

(#758) cigam


cigam
félisten

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

(#759) mepet


mepet
addikt

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?

(#760) sztanozs válasza mepet (#759) üzenetére


sztanozs
veterán

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 :D

[ 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...

(#761) mepet válasza sztanozs (#760) üzenetére


mepet
addikt

Köszi, minden világos! :C

(#762) Fricó


Fricó
aktív tag

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!

(#763) sztanozs válasza Fricó (#762) üzenetére


sztanozs
veterán

hármat olvass vissza. :U

[ 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...

(#764) Fricó válasza sztanozs (#763) üzenetére


Fricó
aktív tag

Ez nekem így nem csinál semmit.

(#765) sztanozs válasza Fricó (#764) üzenetére


sztanozs
veterán

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...

(#766) Geripapa


Geripapa
aktív tag

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 ;

(#767) Geripapa válasza Geripapa (#766) üzenetére


Geripapa
aktív tag

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 ;

(#768) Enoch


Enoch
csendes tag

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

(#769) cigam válasza Enoch (#768) üzenetére


cigam
félisten

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

(#770) csaszizoltan válasza Enoch (#768) üzenetére


csaszizoltan
csendes tag

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.

(#771) sztanozs válasza Enoch (#768) üzenetére


sztanozs
veterán

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...

(#772) Enoch válasza csaszizoltan (#770) üzenetére


Enoch
csendes tag

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.

(#773) csaszizoltan válasza Enoch (#772) üzenetére


csaszizoltan
csendes tag

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.

(#774) Enoch válasza csaszizoltan (#773) üzenetére


Enoch
csendes tag

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 ]

(#775) csaszizoltan válasza Enoch (#774) üzenetére


csaszizoltan
csendes tag

Először is elnézést a hibáért, tényleg chcp és nem cp (lemaradt a másolásból a ch). :W
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.

(#776) Enoch válasza csaszizoltan (#775) üzenetére


Enoch
csendes tag

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 . . .

(#777) Nokedli92


Nokedli92
aktív tag

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

(#778) Enoch válasza Nokedli92 (#777) üzenetére


Enoch
csendes tag

Szia!

A másoláshoz és mappa dátumozáshoz kicsit feljebb a hozzászólásaik közt találhatsz alternatívát.

(#779) mepet válasza Nokedli92 (#777) üzenetére


mepet
addikt

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! ;)

(#780) csaszizoltan válasza Enoch (#776) üzenetére


csaszizoltan
csendes tag

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.

(#781) Enoch válasza csaszizoltan (#780) üzenetére


Enoch
csendes tag

Értem, köszi ezt az infót!

(#782) sellerbuyer


sellerbuyer
őstag

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!

(#783) mepet válasza sellerbuyer (#782) üzenetére


mepet
addikt

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.

(#784) sellerbuyer válasza mepet (#783) üzenetére


sellerbuyer
őstag

Nagyon szépen köszönöm! :R

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! :R

(#785) martin.p


martin.p
tag

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!

(#786) martin.p


martin.p
tag

Sajnos már nem tudom szerkeszteni, de úgy néz ki, hogy sikerült megoldani.

(#787) sellerbuyer


sellerbuyer
őstag

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 ]

(#788) sztanozs válasza sellerbuyer (#787) üzenetére


sztanozs
veterán

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...

(#789) sellerbuyer válasza sztanozs (#788) üzenetére


sellerbuyer
őstag

Igen, köszi, ez lesz a megoldás BGInfo ügyben. :R

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 ]

(#790) sztanozs válasza sellerbuyer (#789) üzenetére


sztanozs
veterán

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...

(#791) sellerbuyer válasza sztanozs (#790) üzenetére


sellerbuyer
őstag

Köszönöm szépen! :R

(#792) SaNyEe


SaNyEe
aktív tag

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 --

(#793) sztanozs válasza SaNyEe (#792) üzenetére


sztanozs
veterán

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...

(#794) Csontikka válasza SaNyEe (#792) üzenetére


Csontikka
aktív tag

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

(#795) SaNyEe válasza Csontikka (#794) üzenetére


SaNyEe
aktív tag

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 --

(#796) magyarzoltan


magyarzoltan
tag

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?

(#797) sztanozs válasza magyarzoltan (#796) üzenetére


sztanozs
veterán

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...

(#798) magyarzoltan válasza sztanozs (#797) üzenetére


magyarzoltan
tag

Okés, köszi a választ akkor ez így sajnos nem lesz jó

(#799) sellerbuyer válasza magyarzoltan (#798) üzenetére


sellerbuyer
őstag

Feladat ütemező?

[ Szerkesztve ]

(#800) magyarzoltan válasza sellerbuyer (#799) üzenetére


magyarzoltan
tag

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 :)

Copyright © 2000-2024 PROHARDVER Informatikai Kft.