Miért nem működik az alábbi kód?
Szeretnék egy olyan .bat file-t, amit ha elindítok, akkor készít egy másolatot az adott test.xlsx fájlról, úgy, hogy az új fájl neve legyen az aktuális fájl készítésének pontos időpontja (a legjobb az lenne, ha év_hónap_nap_óra_perc.xlsx lenne a végeredmény). Jelenleg oda hogy a kód szerint év_hónap_nap.xlsx másolatot kéne csinálni a célmappában, de amikor elindítom a kész .bat fájlt, akkor az semmit nem csinál.
Tudnátok segíteni, hogy mi gond a kódommal, és hogyan lehetne óra/percet is beleépíteni?
A kód:
call set currentDate=%date:/=-%
call set currentDate=%currentDate:~-10%
echo F|xcopy "C:\eredeti\TEST.XLSX" "C:\masolat (%currentDate%).XLSX" /Y /H /E /F
exit
Én csak annyi tanácsot tudok adni, hogy ne az Excel táblázat megnyitott állapotában hívd meg a .bat fájlt ha sikerül majd megírni.
Nem lehet hogy a c:\ gyökérkönyvtárra nincs írási jogod, esetleg ha "run as administrator" opcióval futtatnád a .bat fájlt?
Próbáltam administratorként is nem működött.
Írási jogom tuti van, simán átmásolni a fájlt már sikerült, csak így nem, ezért a kódot tartanám hibásnak.
A fájlt még meg sem nyitottam egyszersem, csak létrehoztam tesztként.
Sajnos úgy is bezárul, de sikerült kifotóznom, nincsen hibaüzenet, egészen egyszerűen nem végzi el a parancsot:
Ha CMD-ből (parancssorból) indítod el, akkor nem fogja bezárni.
Egyrészt az a gond, hogy rosszul zárójelezted és a kiterjesztés is a zárójelben van (ezért kérdezi meg, hogy fájl vagy könyvtár a cél).
Másrészt ott még lehet ibaüzenet, mielőtt bezáróik. Szóval kérlek, nyiss egy parancsort (start menü és cmd, aztán enter) és futtasd le abban.
Ha egy MÁSOLAT nevű mappába másolnád, akkor hiányzik egy fordított perjel, mert így a C: főkönyvtárába valószínűleg nem tudod másolni.
Meg az XCOPY /E paramétere miatt nálam ezt írta:
Cannot perform a cyclic copy
Egyébként a szóközök miatt kell zárójelezés? Kicserélheted aláhúzásokra.
Így működött:
set ujnev=%date% %time%
set ujnev=%ujnev:. =_%
set ujnev=%ujnev::=_%
set ujnev=%ujnev:~0,-6%
echo F|xcopy "c:\eredeti\akarmi.xlsx "c:\masolat\%ujnev%.xlsx" /y /h /f
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!