Sziasztok, tudna segíteni nekem valaki egy olyan bat fájl megírásában, hogy ha lefuttatom akkor egy mappa minden almappájából töröljön minden nem *unc.txt végű fájlt de úgy, hogy a mappaszerkeszet megparadjon?
Gyorskeresés
Legfrissebb anyagok
- Bemutató Spyra: akkus, nagynyomású, automata vízipuska
- Bemutató Route 66 Chicagotól Los Angelesig 2. rész
- Helyszíni riport Alfa Giulia Q-val a Balaton Park Circiut-en
- Bemutató A használt VGA piac kincsei - Július I
- Bemutató Bakancslista: Route 66 Chicagotól Los Angelesig
Általános témák
LOGOUT.hu témák
- [Re:] [gban:] Ingyen kellene, de tegnapra
- [Re:] [Szevam:] Érzelmi magabiztosság/biztonság - miért megyünk sokan külföldre valójában?
- [Re:] [bambano:] Bambanő háza tája
- [Re:] Elektromos rásegítésű kerékpárok
- [Re:] eBay-es kütyük kis pénzért
- [Re:] [Tüzi:] Geek-hatarozo
- [Re:] [D1Rect:] Nagy "hülyétkapokazapróktól" topik
- [Re:] [Luck Dragon:] Asszociációs játék. :)
- [Re:] [sziku69:] Szólánc.
- [Re:] Gurulunk, WAZE?!
Szakmai témák
PROHARDVER! témák
Mobilarena témák
IT café témák
Hozzászólások
Geripapa
aktív tag
@echo off
setlocal enableDelayedExpansion
for /r "%cd%" %%i in (*.*) do (
if not %%~nxi == "unc.txt" rm %%~nxi
)
echo Kész!
pauseendlocal
Eddig jutottam. a "unc.txt" helyére valami más kell de nem tudtam rájönni hogy mi. annyira én sem vagyok penge....De innen talán már meg tudod oldani.
Segítségkéréshez: NSA320+FFP; Raspberry Pi2 Openelec/Kodi ;
Geripapa
aktív tag
az rm után csak %%~i kel nem nxi....
Segítségkéréshez: NSA320+FFP; Raspberry Pi2 Openelec/Kodi ;
sonar
addikt
Sziasztok,
Nagyon elakadtam. Egy batch file-ba kéne beleheftülnöm egy 7zippelést, de nagyon nem akar összejönni
Itt a kiragadott részlet. A 7zip elérését vhogy nem igazán sikerül átadni. Millió féle képpen próbáltam már.set A510=c:\temp\A510\
set fullstamp=2023-02-28
set b_backup=\\server\backup
IF EXIST %A510% FORFILES /P %A510% /S /M *.* /C "cmd /C if @isdir==FALSE if @fsize "c:\Program Files (x86)\7-Zip\7z.exe" a %b_backup%\%fullstamp%.zip @FILE"
Ha nem space-s könyvtárba teszem a 7zipet, műxik, ha a sima program files-be rakom és escapelem\"c:\Program Files\7-Zip\7z.exe\"
akkor is müxik, de az x86-osból sehogy se akar menni
De mivel nem én tartom karban a rendszert ezért egy jó megoldás kéne
A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
Hege1234
addikt
nem lehet, hogy a " " hiánya lesz a hiba?
set "A510=c:\temp\A510"
set "fullstamp=2023-02-28"
set "b_backup=\\server\backup"
IF EXIST "%A510%" (
FORFILES /P "%A510%" /S /M *.* /C "cmd /C if @isdir==FALSE if @fsize "c:\Program Files (x86)\7-Zip\7z.exe" a %b_backup%\%fullstamp%.zip @FILE"
)
sonar
addikt
Te nem toltad kicsit túl az idézőjeleket? Látatlanba is a SET-eknél az egész sort idézőjelek közé raktad ami tuti hibás.
A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
csadi0011
őstag
Nekem nem működik a \"
féle megoldás, de stackoverflow-on írtak "
helyett ^0x22
-t. A forfiles leírásában egyébként benne is van, hogy lehet így helyettesíteni karaktereket, de nem gondoltam volna, hogy az idézést is kell.
IF EXIST %A510% FORFILES /P %A510% /S /M *.* /C "cmd /C if @isdir==FALSE if @fsize ^0x22c:\Program^ Files^ ^(x86^)\7-Zip\7z.exe^0x22 a %b_backup%\%fullstamp%.zip @FILE"
Egyébként rakhatod idézőjelbe a set utáni részt, ahogy Hege1234 írta.
sonar
addikt
Egy fokkal jobb, de még vmi mindig hibádzik.
Ezt dobja vissza:"c:\Program Files (x86)\7-Zip\7z.exe" was unexpected at this time.
[ Szerkesztve ]
A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
sonar
addikt
Azt próbálgatom még, hogy az egész Program Files stringet hex-ben adom meg, de úgy sem jó. (természetesen az összes escapelési kombóval kipróbáltam.IF EXIST %A510% FORFILES /P %A510% /S /M *.* /C "cmd /C if @isdir==FALSE if @fsize 0x220x630x3a0x5c0x500x720x6f0x670x720x610x6d0x200x460x690x6c0x650x730x200x280x780x380x360x290x5c0x370x2d0x5a0x690x700x5c0x370x7a0x2e0x650x780x650x22 a %b_backup%\%fullstamp%.zip @PATH"
"c:\Program Files (x86)\7-Zip\7z.exe" was unexpected at this time.
A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
sonar
addikt
Megvan a megoldás.
De hát fogyatékos a nyelv az biztos...
[link]
shorpath.cmd@ECHO OFF
echo %~s1>shortpath.cmd "C:\Program Files (x86)"
C:\PROGRA~2
És akkor a végső megoldás így néz ki. Itt már mindkét féle escapeléssel jó.IF EXIST %A510% FORFILES /P %A510% /S /M *.* /C "cmd /C "C:\PROGRA~2\7-Zip\7z.exe" a %b_backup%\%fullstamp%.zip @PATH"
IF EXIST %A510% FORFILES /P %A510% /S /M *.* /C "cmd /C ^0x22C:\PROGRA~2\7-Zip\7z.exe^0x22 a %b_backup%\%fullstamp%.zip @PATH"
Végülis működik, de azért valszeg vmi orbitális bug van amiért az x86-ot, nem tudja értelmezni rendesen.
A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
csadi0011
őstag
Tudsz használni %PROGRAMFILES(X86)% változót is az elérési útban. Hátha stabilabb.
De ha van rá lehetőség, nem lenne jobb környezeti parancsnak rendelni a 7z.exe-t? Akkor csak annyit kellene irnod, ut nelkul.
sonar
addikt
Próbáltam azt is, de azzal se ment. %PROGRAMFILES(X86)%
Környezeti változó megint egy kis túlkomplikálása a dolgoknak. A legegyszerűbb ami elsőre is működött, hogy a cmd /c -ben egy másik batch file-t hivok meg, ott frankón működött escape-lés nélkül a 7zip elérése.
De ez megint egy hibalehetőség. Később ha új gépre lesz rakva akkor ott is minden beállítást újra csinálni...
Nem akarok én bonyolult dolgokat, de a legjobb az volna, ha a jóképességű cmd tudná normálisan kezelni amit kell.
[ Szerkesztve ]
A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
csadi0011
őstag
Powershell nem lenne megoldás? Vagy nem forfiles paranccsal csinálni?
Hege1234
addikt
ne félj a sok idézőjeltől..
max ezt próbáld meg beletenni amit eddig csináltál\"\"c:\Program Files (x86)\7-Zip\7z.exe\"\"
@echo off
set "A510=c:\temp\A510"
set "fullstamp=2023-02-28"
set "b_backup=\\server\backup"
IF EXIST "%A510%" (
FORFILES /P "%A510%" /S /M *.* /C "cmd /C if @isdir==FALSE if @fsize \"\"c:\Program Files (x86)\7-Zip\7z.exe\"\" a %b_backup%\%fullstamp%.zip @FILE"
)
ha sehogy nem működne, valahol a gépemen van régebbről olyan script ahol használom kb ugyan így a c:\Program Files (x86) -ot ahogy te akarod majd megpróbálom megkeresni..
sonar
addikt
Szerdán melózok legközelebb akkor még teszek egy próbát ezekkel is kíváncsiságból, de nem fűzök hozzá nagy reményt.
Amikor hexben toltam be neki az elérési utat akkor is kiirta, de futtatni nem tudta a 7z.exe-t. (echo -val szépen kiirta, de futtatáskor már hibát dobott) Tehát a cmd /c -ben történik még vmi extra huncutság
@csadi0011 powershell - áhhh hagyjuk inkább. Ha belenézel a topic-ba ott is van egy nyitott kérdésem.
Ha nem másét kell heftülnöm és adott a lehetőség akkor részemről python a nyerő.
[ Szerkesztve ]
A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
sztanozs
veterán
fyki:
If /C or /K is specified, then the remainder of the command line after
the switch is processed as a command line, where the following logic is
used to process quote (") characters:
1. If all of the following conditions are met, then quote characters
on the command line are preserved:
- no /S switch
- exactly two quote characters
- no special characters between the two quote characters,
where special is one of: &<>()@^|
- there are one or more whitespace characters between the
two quote characters
- the string between the two quote characters is the name
of an executable file.
2. Otherwise, old behavior is to see if the first character is
a quote character and if so, strip the leading character and
remove the last quote character on the command line, preserving
any text after the last quote character.
talan igy jo lesz:IF EXIST "%A510%" (
FORFILES /P "%A510%" /S /M *.* /C "cmd /C "if @isdir==FALSE if @fsize "c:\Program Files (x86)\7-Zip\7z.exe" a %b_backup%\%fullstamp%.zip @FILE"
)
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...
sonar
addikt
IF EXIST "d:\Reports\" (FORFILES /P "d:\Reports" /S /M *.* /C "cmd /C "if @isdir==FALSE if @fsize "c:\Program Files (x86)\7-Zip\7z.exe" a c:\temp\2023-02-28.zip @FILE" )
ERROR: Invalid argument/option - 'Files'.
Type "FORFILES /?" for usage.
Ha a /C utáni if elől kiveszem a " akkor lefut, de a zip-et nem csinálja meg.
@Hege -
itt a kimenet és továbbra sem kreálódik meg a zip:IF EXIST "c:\temp\A510" (FORFILES /P "c:\temp\A510" /S /M *.* /C "cmd /C if @isdir==FALSE if @fsize \"\"c:\Program Files (x86)\7-Zip\7z.exe\"\" a c:\temp\2023-02-28.zip @FILE" )
[ Szerkesztve ]
A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
sztanozs
veterán
Oh, nem olvastam el:
To include special characters in the command line, use the hexadecimal code for the character in 0xHH format (ex. 0x09 for tab). Internal CMD.exe commands should be preceded with "cmd /c".
talan igy:IF EXIST "%A510%" (
FORFILES /P "%A510%" /S /M *.* /C "cmd /C if @isdir==FALSE if @fsize 0x22c:\Program Files 0x28x860x29\7-Zip\7z.exe0x22 a %b_backup%\%fullstamp%.zip @FILE"
)
[ 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...
sonar
addikt
Meg se próbálom, már irtam lentebb (#1109), hogy az egész stringet hex-ben adtam be neki és az sem hozta az elvárt eredményt.
A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
sztanozs
veterán
Sajna nincs fent a 7z (es nem is rakhatom fel a ceges gepre), ugyhogy kiprobalni nem tudom :/
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...
sonar
addikt
Szerintem nem 7z függő, hanem bármi ami a Program Files (x86) -ban van az problémás.
Mondjuk nekem még a Notepad++ van ott (érthetetlen okból)
Gyors próba alapján azt sem képes elindítani.
A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
mepet
addikt
Anno kuzdottem hasonloval, a vegen a megoldas az lett, hogy az exe fajlt atmasoltam a munkakonyvtarba, futtattam ott, majd toroltem. Persze ehhez standalone exe kell.
sonar
addikt
Ugye tudod, hogy a cmd /c hívásnál a munkakönyvtár mi? Oda nem másolunk.
A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
csadi0011
őstag
Nem értettem, hogy nekem miért volt jó. Én kicsit tisztítottam a programodon, hogy könnyebben átlássam.
Most kipróbáltam az egészet és nekem is ezt az unexpected hibát írja.
Az if @fsize
nem jó. Ha átírtam pl. így: if @fsize GTR 0
vagy kitöröltem, akkor jó volt.
Próbálgattam az if-et, de szám bemenettel vagy logikai vizsgálat nélkül parancssorból és scriptből sem működött. Viszont akkor hogyan futott le neked eddig másik mappából?
[ Szerkesztve ]
sztanozs
veterán
Ez nekem mukodik x86-bol:@echo off
set "A510=c:\temp\py"
set "fullstamp=2023-02-28"
set "b_backup=\\server\backup"
IF EXIST "%A510%" (
FORFILES /P "%A510%" /S /M *.* /C "cmd /S /C if @isdir==FALSE if @fsize GTR 0 0x22c:\Program Files 0x28x860x29\Microsoft Visual Studio\Shared\Python39_64\python.exe0x22 -c 0x22print(r'%b_backup%\%fullstamp%.zip @file')0x22"
)
Kimenet:
\\server\backup\2023-02-28.zip certificates.py
\\server\backup\2023-02-28.zip search_dump.py
^CTerminate batch job (Y/N)?
[ 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...
csadi0011
őstag
Neked ez hogy működik ^
nélkül? Ha 0x22
-t írok ^0x22
helyett, akkor nekem már nem jó.
Amúgy sem értem, hogy miért értelmezné a szoftver a 0x22
-t másnak, mint ami. Mi van ha a mappanévben vagy fájlnévben van 0x22? Nem tiltott és nem speciális.
sztanozs
veterán
ez a forfiles sajatja, nem a cmd/c ertelmezi, forfile commandban nem kell escape-elni
[ 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...
csadi0011
őstag
sonar
addikt
Win11-en itthon:
Ez működik:FORFILES /P "%A510%" /S /M *.* /C "cmd /S /C ^0x22c:\Program^ Files^ ^(x86)\ImgBurn\ImgBurn.exe^0x22"
Ezek nemFORFILES /P "%A510%" /S /M *.* /C "cmd /S /C ^0x22c:\Program Files 0x28x860x29\ImgBurn\ImgBurn.exe^0x22"
'"c:\Program' is not recognized as an internal or external command,
operable program or batch file.
sztanozs - elvileg ez a te mintád ami szintén nem megy a win11-en.FORFILES /P "%A510%" /S /M *.* /C "cmd /S /C 0x22c:\Program Files 0x28x860x29\ImgBurn\ImgBurn.exe0x22"
'c:\Program' is not recognized as an internal or external command,
operable program or batch file.
FORFILES /P "%A510%" /S /M *.* /C "cmd /S /C "c:\Program Files 0x28x860x29\ImgBurn\ImgBurn.exe""
FORFILES /P "c:\oem\CareCenter\DebugLog" /S /M *.* /C "cmd /S /C "c:\Program Files 0x28x860x29\ImgBurn\ImgBurn.exe""
ERROR: Invalid argument/option - 'Files'.
FORFILES /P "%A510%" /S /M *.* /C "cmd /S /C "c:\Program Files (x86)\ImgBurn\ImgBurn.exe""
FORFILES /P "c:\oem\CareCenter\DebugLog" /S /M *.* /C "cmd /S /C "c:\Program Files (x86)\ImgBurn\ImgBurn.exe""
ERROR: Invalid argument/option - 'Files'.
A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
sztanozs
veterán
Nekem Win10 van, lehet, hogy ez a kulonbseg...
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...
sztanozs
veterán
Ezert is irja a help, hogy celszeru a FORFILES helyett sima FOR+parameter extension-t hasznalni... Egy bughalmaz az egesz.
Vagy meginkabb powershell, azt sokkal nehezebb elb*bni.
[ 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...
sztanozs
veterán
Powershell:$A510="c:\temp\A510\"
$fullstamp="2023-02-28"
$b_backup="\\server\backup"
Get-ChildItem $A510 -recurse -Filter *.* | ForEach-Object {
if ($_.Attributes -ne "Directory") {
if ($_.Length -gt 0) {
Start-Process -WorkingDirectory $A510 -FilePath "c:\Program Files (x86)\7-Zip\7z.exe" -ArgumentList "a `"$($b_backup)$($fullstamp).zip`" `"$($_.Directory)\$($_.Name)`"" -Wait
}
}
}
[ 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...
sonar
addikt
Nem powershell-ezek, és a forfiles probléma csak egy része volt a batch file-nak.
Arról nem beszélve, hogy PS1 futtatáshoz módosítani kell a policy-t vagy batchből hivni -e bypass paraméterrel.
Nem érzem az ambiciót, hogy mindent a nyakamba vegyek.
A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
sztanozs
veterán
Akkor ennek mennie kell:@echo off
SET "A510=c:\temp\A510"
SET "fullstamp=2023-02-28"
SET "b_backup=\\server\backup"
IF EXIST "%A510%" (
FOR /R "%A510%" %%G IN (*) DO (
IF %%~zG GTR 0 "c:\Program Files (x86)\7-Zip\7z.exe" a "%b_backup%\%fullstamp%.zip" "%%G"
)
)
[ 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...
sonar
addikt
Le is fut rendesen.
A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
include777
aktív tag
Szia!
Powershellel:$sourcePath = "C:\originalfiles\"
$destinationPath = "C:\convertfiles\"
if (!(Test-Path $destinationPath))
{
New-Item -ItemType Directory -Path $destinationPath
}
Get-ChildItem -Path $sourcePath -File | ForEach-Object {
Write-Host "Converting $_"
$content = Get-Content $_.FullName
Set-content (Join-Path -Path $destinationPath -ChildPath $_) -Encoding Ascii -Value $content
}
keep calm and learn powershell
sonar
addikt
Most néztem meg jobban a kódot és értelmezni próbáltam, ezt %%~zG el tudod magyarázni?
A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
sztanozs
veterán
Ha nem baj, nem forditom le magyarra (megfelelo sort kiemeltem):
Parameter Extensions
When an argument is used to supply a filename then the following extended syntax can be applied:
We are using the variable %1 (but this works for any argument, including FOR parameters).
%~f1 Expand %1 to a Fully qualified path name - C:\utils\MyFile.txt
%~d1 Expand %1 to a Drive letter only - C:
%~p1 Expand %1 to a Path only e.g. \utils\ this includes a trailing \ which will be interpreted as an escape character by some commands.
%~n1 Expand %1 to a file Name without file extension or path - MyFile
or if only a path is present, with no trailing backslash, the last folder in that path.
%~x1 Expand %1 to a file eXtension only - .txt
%~s1 Change the meaning of f, n, s and x to reference the Short 8.3 name (if it exists.)
%~1 Expand %1 removing any surrounding quotes (")
%~a1 Display the file attributes of %1
%~t1 Display the date/time of %1
%~z1 Display the file size of %1
%~$PATH:1 Search the PATH environment variable and expand %1 to the fully qualified name of the first match found.
The modifiers above can be combined:
%~dp1 Expand %1 to a drive letter and path only.
%~sp1 Expand %1 to a path shortened to 8.3 characters.
%~nx2 Expand %2 to a file name and extension only.
[ 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...
sonar
addikt
Köszönöm, így tökéletes. Ma is tanultam valami újat.
[ Szerkesztve ]
A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
sztanozs
veterán
Akkor bedobok meg egy trukkot. Ha jo a local beallitas, akkor a datum is kisakkozhato, nem kell kezzel megadni:SET fullstamp=%DATE:~6,4%-%DATE:~0,2%-%DATE:~3,2%
Reszletek: [link]
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...
sonar
addikt
Ez a trükk megvan. Csak a példában egyszerűbb volt fix-en megadni.
A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
sonar
addikt
Ismét én, egy anomáliával.
@echo off
SET "LOGFILE=d:\test.log"
SET "local_folders1=D:\Folder1 D:\Folder2 D:\Folder3 D:\Folder4"
SET "local_folders=%local_folders1% D:\Folder5 D:\Folder6 D:\Folder7 D:\Folder8"
FOR %%x IN (%local_folders%) DO (
IF EXIST %%x ECHO %%x >>%LOGFILE%
)
Nézegettem a logokat és legtöbbször csak a második SET tartalma van benne:D:\Folder5
D:\Folder6
D:\Folder7
D:\Folder8
Kézzel lefuttatva akárhányszor csinálom mindig jó.
Itt már megint mi a bánat van?
A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
sztanozs
veterán
Nem vagyok benne biztos, de szerintem EnableDelayedExpansion-t kell hasznalni.
https://ss64.com/nt/delayedexpansion.html
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...
sonar
addikt
Teszek egy próbát.
Elég egyszer beszúrni a batch elejére?
A tudást mástól kapjuk, a siker a mi tehetségünk - Remember: Your life – Your choices!
sztanozs
veterán
Igen eleg egyszer kiadni aSETLOCAL EnableDelayedExpansion
parancsot, ha menet kozben ki akarod valamiert kapcsolni akkor kell csak aSETLOCAL DisableDelayedExpansion
parancs. Viszont a valtozok hasznalatanal figyelni kell, hogy nem mindig %valtozo_nev%, hanem !valtozo_nev! formatumot is kell(het?) hasznalni.
[ 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...
Pöttön
őstag
Sziasztok!
Az egyik programnál amit használok egy ilyen bat-al indítom:
CLIP < CONNECT.TXT
start "reboot_launcher" "C:\Program Files\reboot_launcher\reboot_launcher.exe"
A connect.txt-ben egy ip cím van, így ezt automatán vágólapra helyezi.
A kérdésem az lenne, hogy ezt a vágólapra helyezést ezt lehet valmi parancsal késleltetni?
Pl hogy a bat file elindÍtása után 10-15 mp mulva helyezze a connect.txt tartalmát vágólapra?
A segítséget előre is köszi!
A sport a legjobb kikapcsolódás...
sztanozs
veterán
https://ss64.com/nt/timeout.html
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...
Pöttön
őstag
Köszönöm!
A timeout parancsal tökéletesen működik!
A sport a legjobb kikapcsolódás...
PioDVD
senior tag
Üdv!
Egy egyszerű problémát kellene megoldanom, de nem jövök rá - pedig tuti, hogy van megoldás.
Beolvasok egy paramétert, ami egy 4 jegyű szám.
Ha SET /A var = %1 (azaz numerikus a típusa), akkor tökéletes, ha nem 0-val kezdődik. Viszont ha 0-val kezdődik, akkor invalid number.
Ha SET var = %1 (azaz string a típusa), akkor viszont 0 értéket vesz fel.
Elvileg utóbbi kellene nekem, legyen string, abban ott kellene lennie a 0-nak az elején, de az egyáltalán nem működik.
Már kínomban az angol nyelvű oldalakat is bújtam, de egyszerűen semmi.
Nekem jó lenne számként is (0123 helyett 123), azt már ki tudnám pótolni, ha nem invalid numberre futna, de a string adná magát igazából.
Tudom, lehetne csak 3 (vagy 2, 1) számjegyet beadni, de nem túl elegáns, ráadásul lehet a 4 számjegy 0000 is, ott nem lenne mit beírni, így elcsúsznának a paraméterek (ez 4-ből az első paraméter).
Köszönöm, ha valaki megszán a megoldással.
sztanozs
veterán
Ha 0-val kezdodik, akkor a parancs oktalis szamnak ertelmezi, tehat a 8 es 9-es szamok ervenytelenek, raadasul az ertek tizes szamrendszerben is mas lesz:
01 (okt) = 1 (dec)
07 (okt) = 7 (dec)
010 (okt) = 8 (dec)
Itt van par jo megoldas:
https://stackoverflow.com/questions/14762813/remove-leading-zeros-in-batch-file
[ 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...