Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Kopia pliku z data i godzin± w nazwie

757 views
Skip to first unread message

Bartess

unread,
Mar 26, 2009, 7:03:45 AM3/26/09
to
Witam.
W jaki sposob moge spokiowac plik by w kopia w nazwie zawierala dodatkowo
date oraz godzine utworzenia tej kopii?

Pozdrawiam


Grzegorz Niemirowski

unread,
Mar 26, 2009, 7:42:44 AM3/26/09
to
Bartess <bartes...@tlen.pl> napisał(a):

Użyj zmiennych %DATE% i %TIME%.
np.
for /f "tokens=1,2 delims=:" %i in ("%time%") do copy plik.txt
%date%_%i_%j.txt

--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i aktualności ze świata Outlook Express: grzegorz.net/oe
Uptime: 0 days, 10 hours, 13 minutes and 20 seconds

Bartess

unread,
Mar 26, 2009, 9:08:05 AM3/26/09
to
Cos nie gra..
wpisałem w pliku aaa.bat Twoje polecenie w jednej linijce i
otrzymuje cos takiego:
D:\@>aaa.bat
W tym momencie timedatei_j.txt było nieoczekiwane.
D:\@>for /f "tokens=1,2 delims=:" timedatei_j.txt
D:\@>

A czy dasie sterowac jeszcze kolejnoscia argumentow w nazie?
Dokladniej chodzi mi o cos takiego, ze dopiujac plik plikt.txt u zyskam
kopie tego pliku w takiej formie:
plik_RRRR-MM-DD_hh_mm.txt?
Dokladniej mam na mysli mozliwosc wpisania lub nie wpusywania np RRRR albo
mm.

Dziekuje


Użytkownik "Grzegorz Niemirowski" <gnthe...@poczta.onet.pl> napisał w
wiadomości news:gqfpnl$ooa$1...@opal.icpnet.pl...

Grzegorz Niemirowski

unread,
Mar 26, 2009, 9:46:36 AM3/26/09
to
Bartess <bartes...@tlen.pl> napisał(a):

> Cos nie gra..
> wpisałem w pliku aaa.bat Twoje polecenie w jednej linijce i
> otrzymuje cos takiego:
> D:\@>aaa.bat
> W tym momencie timedatei_j.txt było nieoczekiwane.
> D:\@>for /f "tokens=1,2 delims=:" timedatei_j.txt

Bo w skryptach zmienna pętli for powinna mieć podwójny znak % a nie
pojedynczy. Taka dziwna niespójność cmd.exe.

> A czy dasie sterowac jeszcze kolejnoscia argumentow w nazie?
> Dokladniej chodzi mi o cos takiego, ze dopiujac plik plikt.txt u zyskam
> kopie tego pliku w takiej formie:
> plik_RRRR-MM-DD_hh_mm.txt?
> Dokladniej mam na mysli mozliwosc wpisania lub nie wpusywania np RRRR
> albo mm.

Tak. Ten przykład, który podałem wygląda jak wygląda ponieważ nie można było
bezpośrednio użyć zmiennej TIME gdyż zawiera ona dwukropki, które nie mogą
występować w nazwie pliku.
Zobacz skrypt poniżej:
for /f "tokens=1,2,3 delims=-" %%i in ("%date%") do (
set RRRR=%%i
set MM=%%j
set DD=%%k
)
for /f "tokens=1,2,3 delims=:," %%a in ("%time%") do (
set G=%%a
set M=%%b
set S=%%c
)
echo %RRRR% %MM% %DD% %G% %M% %S%
Zamiast ostatniej linijki możesz wstawić swoje kopiowanie, np.
copy plik plik_%RRRR%-%MM%-%DD%_%g%_%m%.txt


--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i aktualności ze świata Outlook Express: grzegorz.net/oe

Uptime: 0 days, 12 hours, 15 minutes and 16 seconds

Bartess

unread,
Mar 26, 2009, 4:26:47 PM3/26/09
to
Mistrzu - zdradź proszę źródło swej tajemnej wiedzy...


Użytkownik "Grzegorz Niemirowski" <gnthe...@poczta.onet.pl> napisał w

wiadomości news:gqg0vt$10rg$1...@opal.icpnet.pl...

Grzegorz Niemirowski

unread,
Mar 26, 2009, 5:05:57 PM3/26/09
to
Bartess <bartessMAŁP...@tlen.pl> napisał(a):

> Mistrzu - zdradź proszę źródło swej tajemnej wiedzy...

Jeśli chodzi o te skrypty to akurat prawie wszystko jest w pomocy do
Windows, poszukaj opisu polecenia for.

--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i aktualności ze świata Outlook Express: grzegorz.net/oe

Uptime: 0 days, 19 hours, 45 minutes and 28 seconds

0 new messages