Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
0 / 0 / 1
Регистрация: 16.02.2015
Сообщений: 35

Написать командный файл, выполняющий следующие действия...

01.04.2016, 20:44. Показов 4138. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
написать командный файл выполняющий следующие действия
1) создать каталог с названием dir<дата>, где <дата>- дата, которая была 10000 дней назад от текущей даты.
2) в каталог dir<дата> скопировать все файлы компьютера созданные в нечетные дни прошлого года.
3) результат работы, количество скопированных файлов и их названия, записать в журнальный файл report.log
4) заархивировать содержимое каталога dir<дата> прогрпммой winrar с ключами
а) формат архива zip
б) имя архивного файла с использованием даты
в) после архивирования исходные файлы удалить
г) не включать в архив файлы размером 2Мб
5) результат работы количество заархивированных файлов и их названия, дописать в журнальный файл report.log

я нашел похожий скрипт но он на bash
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/sh
dirn=` echo | date -d "10000 days ago" +%d.%m.%Y `
dirn=` echo dir$dirn `
cdate=` echo | date +%d.%m.%Y `
count=0
max=1500000
if [ ! -d $dirn ]
then
 mkdir $dirn
fi
if [ -f report.log ]A
then
 rm report.log
fi
ls -l --time-style="+%u %d.%m.%Y %H:%M" | grep -v "for" | grep -v "total" | grep ".bat" | { while
read x
do
 date=` echo $x | cut -d" " -f7 `
 vrem=` echo $x | cut -d" " -f8 `
 ch=` echo $vrem | cut -d":" -f1 `
 name=` echo $x | cut -d" " -f9- `
 cp $name $dirn
 count=` expr $count + 1 `
 echo "Скопирован файл $name. Дата создания:$date $vrem." >> report.log
 
done; echo "Скопировано файлов:$count." >> report.log
}
count=0
archn=` echo archive_$cdate.tar `
ls -l --time-style="+%d.%m.%Y" $dirn | grep -v "total" | { while
read x
do
 size=` echo $x | cut -d" " -f5 `
 name=` echo $x | cut -d" " -f7- `
 if [ $max -lt $size -a ! -d "$name" ]
 then
  tar -rf ./$dirn/$archn ./$dirn/$name --remove-files
  count=` expr $count + 1 `
  echo "Заархивирован файл $name. Размер файла:$size." >> report.log
 fi
done; echo "Заархивировано файлов:$count." >> report.log
}
и еще один кусочек
Bash
1
2
3
find -newermt $(date -d 'last year' +'%Y/01/01') ! -newermt $(date +'%Y/01/01') \
-exec bash -c '(($(date +%d -r "$0") % 2))' {} \; -print0 | 
xargs -0 mv -t dir<data>
но препод требует именно в командной строке WINDOWS
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.04.2016, 20:44
Ответы с готовыми решениями:

Написать командный файл, выполняющий определенные действия
Привет. Задание такое: Нужно переделать задачу чтобы она соответствовала новому условию: Написать командный файл, выполняющий...

Создайте пакетный файл first.bat, выполняющий следующие действия
Создайте пакетный файл first.bat, выполняющий следующие действия: - Создать каталог TEMP в доступном месте, например, в каталоге Пакетные...

Создать командный файл с именем PARAM.BAT, выполняющий различные действия в зависимости от переданного парамет
Создать командный файл с именем PARAM.BAT, выполняющий различные действия в зависимости от переданного параметра в строке вызова: 1....

21
01.04.2016, 23:30

Не по теме:

Создать папку с датой 14.11.1988 - пол беды, а

Цитата Сообщение от kokos212 Посмотреть сообщение
2) в каталог dir<дата> скопировать все файлы компьютера созданные в нечетные дни прошлого года
- крепко вы достали препода вероятно.

0
0 / 0 / 1
Регистрация: 16.02.2015
Сообщений: 35
02.04.2016, 06:54  [ТС]
не понимаю чем bash ему не понравился
0
 Аватар для ZoOoO
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
03.04.2016, 16:54
Успехи есть?

Добавлено через 16 часов 19 минут
Ну что?Сделал кто нибудь?Или все забили )))
Я вот в процессе выполения придумал,как вычислить число и месяц в зависимости от количества прошедших дней в году.
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
@echo off
Setlocal EnableDelayedExpansion
set /p y="Vvedite kolichestvo dney:"
set w=2
set mes=1
for /l %%a in (1,1,400) do (
set /a n+=1
if !n! LEQ %y% (call :!w!) 
)
 
echo data: %ff%%fa%.!mes!
 
pause
exit /b
 
:1
set /a c+=1
if !c! GEQ 31  (set ff=&set w=2&&set /a c=!c!-31&set /a mes+=1&goto :2)
if !c!==30  (set ff=30&&exit /b)
if !c!==29  (set ff=29&&exit /b)             
if !c!==28  (set ff=28&&exit /b)
if !c!==27  (set ff=27&&exit /b)
if !c!==26  (set ff=26&&exit /b)
if !c!==25  (set ff=25&&exit /b)
if !c!==24  (set ff=24&&exit /b)
if !c!==23  (set ff=23&&exit /b)
if !c!==22  (set ff=22&&exit /b)
if !c!==21  (set ff=21&&exit /b)
if !c!==20  (set ff=20&&exit /b)
if !c!==19  (set ff=19&&exit /b)
if !c!==18  (set ff=18&&exit /b)
if !c!==17  (set ff=17&&exit /b)
if !c!==16  (set ff=16&&exit /b)
if !c!==15  (set ff=15&&exit /b)
if !c!==14  (set ff=14&&exit /b)
if !c!==13  (set ff=13&& exit /b)
if !c!==12  (set ff=12&&exit /b)
if !c!==11  (set ff=11&&exit /b)
if !c!==10  (set ff=10&&exit /b)
if !c!==9   (set ff=09&&exit /b)
if !c!==8   (set ff=08&&exit /b)
if !c!==7   (set ff=07&&exit /b) 
if !c!==6   (set ff=06&&exit /b)
if !c!==5   (set ff=05&&exit /b)
if !c!==4   (set ff=04&&exit /b)
if !c!==3   (set ff=03&&exit /b)
if !c!==2   (set ff=02&&exit /b)
if !mes!==13 (set /a mes=!mes!-12&set w=2&goto :2) else  (if !c!==1   (set ff=01&&exit /b))
 
:2
set /a d+=1
if !d! GEQ 32  (set /a mes+=1&if !mes!==2 (set fa=&set /a d=!d!-32&set w=3&goto :3) else (if !mes!==8 (set fa=&set /a d=!d!-32&set w=2&goto :2) else (set fa=&set /a d=!d!-32&set w=1&goto :1)))
if !d!==31  (set fa=31&&exit /b)
if !d!==30  (set fa=30&&exit /b)
if !d!==29  (set fa=29&&exit /b)             
if !d!==28  (set fa=28&&exit /b)
if !d!==27  (set fa=27&&exit /b)
if !d!==26  (set fa=26&&exit /b)
if !d!==25  (set fa=25&&exit /b)
if !d!==24  (set fa=24&&exit /b)
if !d!==23  (set fa=23&&exit /b)
if !d!==22  (set fa=22&&exit /b)
if !d!==21  (set fa=21&&exit /b)
if !d!==20  (set fa=20&&exit /b)
if !d!==19  (set fa=19&&exit /b)
if !d!==18  (set fa=18&&exit /b)
if !d!==17  (set fa=17&&exit /b)
if !d!==16  (set fa=16&&exit /b)
if !d!==15  (set fa=15&&exit /b)
if !d!==14  (set fa=14&&exit /b)
if !d!==13  (set fa=13&& exit /b)
if !d!==12  (set fa=12&&exit /b)
if !d!==11  (set fa=11&&exit /b)
if !d!==10  (set fa=10&&exit /b)
if !d!==9   (set fa=09&&exit /b)
if !d!==8   (set fa=08&&exit /b)
if !d!==7   (set fa=07&&exit /b) 
if !d!==6   (set fa=06&&exit /b)
if !d!==5   (set fa=05&&exit /b)
if !d!==4   (set fa=04&&exit /b)
if !d!==3   (set fa=03&&exit /b)
if !d!==2   (set fa=02&&exit /b)
if !d!==1   (set fa=01&&exit /b)
 
:3
set /a e+=1
if !e! GEQ 30 (set fa=&set w=2&set /a e=!e!-28&set /a mes+=1&goto :2)
if !e!==29  (set fa=29&&exit /b)
if !e!==28  (set fa=28&&exit /b)
if !e!==27  (set fa=27&&exit /b)
if !e!==26  (set fa=26&&exit /b)
if !e!==25  (set fa=25&&exit /b)
if !e!==24  (set fa=24&&exit /b)
if !e!==23  (set fa=23&&exit /b)
if !e!==22  (set fa=22&&exit /b)
if !e!==21  (set fa=21&&exit /b)
if !e!==20  (set fa=20&&exit /b)
if !e!==19  (set fa=19&&exit /b)
if !e!==18  (set fa=18&&exit /b)
if !e!==17  (set fa=17&&exit /b)
if !e!==16  (set fa=16&&exit /b)
if !e!==15  (set fa=15&&exit /b)
if !e!==14  (set fa=14&&exit /b)
if !e!==13  (set fa=13&& exit /b)
if !e!==12  (set fa=12&&exit /b)
if !e!==11  (set fa=11&&exit /b)
if !e!==10  (set fa=10&&exit /b)
if !e!==9   (set fa=09&&exit /b)
if !e!==8   (set fa=08&&exit /b)
if !e!==7   (set fa=07&&exit /b) 
if !e!==6   (set fa=06&&exit /b)
if !e!==5   (set fa=05&&exit /b)
if !e!==4   (set fa=04&&exit /b)
if !e!==3   (set fa=03&&exit /b)
if !e!==2   (set fa=02&&exit /b)
if !e!==1   (set fa=01&&exit /b)
0
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
03.04.2016, 17:13
Цитата Сообщение от ZoOoO
Сделал кто нибудь?Или все забили ... в процессе выполения придумал,как вычислить число и месяц
Уважаемый, а какой смысл заморачиваться над тем, что в общем-то не представляет труда? Да и смысл говнокодить на командном языке? Проще, как в плане написания, так чтения кода будут гибриды или вообще использование PowerShell'а, на котором все вышеозвученное решается в пару десятков, а то и менее, строк. Например, ту же дату в минус десят тысяч дней назад при гибридизации можно получить так:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
@echo off
  setlocal
    call:timespan 10000 old
    echo:%old%
  endlocal
exit /b
 
:timespan
set "b=mshta vbscript:Execute(""
set "b=%b%CreateObject(""Scripting.FileSystemObject"")"
set "b=%b%.GetStandardStream(1).Write("
set ^"e=):Close"^)"
for /f %%i in ('%b%Date-%1%e%') do set "%2=%%i"
А если вызывать PS из командного файла, то все и вовсе уложится в одну строку.
0
 Аватар для ZoOoO
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
03.04.2016, 17:44
А вот так дни отнимаются.
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
@echo off
Setlocal EnableDelayedExpansion
@echo off
set /p y="Vvedite kolichestvo otnimaemaykh dney:"
set /p mes="mesyact:"
set /p day="chislo mesyacta(naprimer:09):"
 
 
if %mes%==1 (goto :31)
if %mes%==2 (goto :29)
if %mes%==3 (goto :31)
if %mes%==4 (goto :30)
if %mes%==5 (goto :31)
if %mes%==6 (goto :30)
if %mes%==7 (goto :31)
if %mes%==8 (goto :31)
if %mes%==9 (goto :30)
if %mes%==10 (goto :31)
if %mes%==11 (goto :30)
if %mes%==12 (goto :31)
 
:31
set w=2
if %day%==01 (set d=31&goto 10)
if %day%==02 (set d=30&goto 10)
if %day%==03 (set d=29&goto 10)
if %day%==04 (set d=28&goto 10)
if %day%==05 (set d=27&goto 10)
if %day%==06 (set d=26&goto 10)
if %day%==07 (set d=25&goto 10)
if %day%==08 (set d=24&goto 10)
if %day%==09 (set d=23&goto 10)
if %day%==10 (set d=22&goto 10)
if %day%==11 (set d=21&goto 10)
if %day%==12 (set d=20&goto 10)
if %day%==13 (set d=19&goto 10)
if %day%==14 (set d=18&goto 10)
if %day%==15 (set d=17&goto 10)
if %day%==16 (set d=16&goto 10)
if %day%==17 (set d=15&goto 10)
if %day%==18 (set d=14&goto 10)
if %day%==19 (set d=13&goto 10)
if %day%==20 (set d=12&goto 10)
if %day%==21 (set d=11&goto 10)
if %day%==22 (set d=10&goto 10)
if %day%==23 (set d=9&goto 10)
if %day%==24 (set d=8&goto 10)
if %day%==25 (set d=7&goto 10)
if %day%==26 (set d=6&goto 10)
if %day%==27 (set d=5&goto 10)
if %day%==28 (set d=4&goto 10)
if %day%==29 (set d=3&goto 10)
if %day%==30 (set d=2&goto 10)
if %day%==31 (set d=1&goto 10)
 
:30
set w=1
if %day%==01 (set c=30&goto 10)
if %day%==02 (set c=29&goto 10)
if %day%==03 (set c=28&goto 10)
if %day%==04 (set c=27&goto 10)
if %day%==05 (set c=26&goto 10)
if %day%==06 (set c=25&goto 10)
if %day%==07 (set c=24&goto 10)
if %day%==08 (set c=23&goto 10)
if %day%==09 (set c=22&goto 10)
if %day%==10 (set c=21&goto 10)
if %day%==11 (set c=20&goto 10)
if %day%==12 (set c=19&goto 10)
if %day%==13 (set c=18&goto 10)
if %day%==14 (set c=17&goto 10)
if %day%==15 (set c=16&goto 10)
if %day%==16 (set c=15&goto 10)
if %day%==17 (set c=14&goto 10)
if %day%==18 (set c=13&goto 10)
if %day%==19 (set c=12&goto 10)
if %day%==20 (set c=11&goto 10)
if %day%==21 (set c=10&goto 10)
if %day%==22 (set c=9&goto 10)
if %day%==23 (set c=8&goto 10)
if %day%==24 (set c=7&goto 10)
if %day%==25 (set c=6&goto 10)
if %day%==26 (set c=5&goto 10)
if %day%==27 (set c=4&goto 10)
if %day%==28 (set c=3&goto 10)
if %day%==29 (set c=2&goto 10)
if %day%==30 (set c=1&goto 10)
 
:29
set w=3
if %day%==01 (set e=29&goto 10)
if %day%==02 (set e=28&goto 10)
if %day%==03 (set e=27&goto 10)
if %day%==04 (set e=26&goto 10)
if %day%==05 (set e=25&goto 10)
if %day%==06 (set e=24&goto 10)
if %day%==07 (set e=23&goto 10)
if %day%==08 (set e=22&goto 10)
if %day%==09 (set e=21&goto 10)
if %day%==10 (set e=20&goto 10)
if %day%==11 (set e=19&goto 10)
if %day%==12 (set e=18&goto 10)
if %day%==13 (set e=17&goto 10)
if %day%==14 (set e=16&goto 10)
if %day%==15 (set e=15&goto 10)
if %day%==16 (set e=14&goto 10)
if %day%==17 (set e=13&goto 10)
if %day%==18 (set e=12&goto 10)
if %day%==19 (set e=11&goto 10)
if %day%==20 (set e=10&goto 10)
if %day%==21 (set e=9&goto 10)
if %day%==22 (set e=8&goto 10)
if %day%==23 (set e=7&goto 10)
if %day%==24 (set e=6&goto 10)
if %day%==25 (set e=5&goto 10)
if %day%==26 (set e=4&goto 10)
if %day%==27 (set e=3&goto 10)
if %day%==28 (set e=2&goto 10)
if %day%==29 (set e=1&goto 10)
 
 
 
 
 
:10
set god=2016
for /l %%a in (1,1,400) do (
set /a n+=1
if !n! LEQ %y% (call :!w!) 
)
echo c=!c!
echo ff=%ff%
echo data: %ff%%fa%.!mes!.!god!
echo fa=%fa%
echo d=!d!
echo w=!w!
echo mes=!mes!
pause
exit /b
:1
 
set /a c+=1
 
if !c! GEQ 31  (set ff=&set w=2&&set /a c=!c!-31&set /a mes-=1&goto :2)
if !c!==30  (set ff=01&&exit /b)
if !c!==29  (set ff=02&&exit /b)             
if !c!==28  (set ff=03&&exit /b)
if !c!==27  (set ff=04&&exit /b)
if !c!==26  (set ff=05&&exit /b)
if !c!==25  (set ff=06&&exit /b)
if !c!==24  (set ff=07&&exit /b)
if !c!==23  (set ff=08&&exit /b)
if !c!==22  (set ff=09&&exit /b)
if !c!==21  (set ff=10&&exit /b)
if !c!==20  (set ff=11&&exit /b)
if !c!==19  (set ff=12&&exit /b)
if !c!==18  (set ff=13&&exit /b)
if !c!==17  (set ff=14&&exit /b)
if !c!==16  (set ff=15&&exit /b)
if !c!==15  (set ff=16&&exit /b)
if !c!==14  (set ff=17&&exit /b)
if !c!==13  (set ff=18&&exit /b)
if !c!==12  (set ff=192&&exit /b)
if !c!==11  (set ff=20&&exit /b)
if !c!==10  (set ff=21&&exit /b)
if !c!==9   (set ff=22&&exit /b)
if !c!==8   (set ff=23&&exit /b)
if !c!==7   (set ff=24&&exit /b) 
if !c!==6   (set ff=25&&exit /b)
if !c!==5   (set ff=26&&exit /b)
if !c!==4   (set ff=27&&exit /b)
if !c!==3   (set ff=28&&exit /b)
if !c!==2   (set ff=29&&exit /b)
if !mes!==0 (set /a mes=!mes!+12&set /a god-=1&set w=2&goto :2) else  (if !c!==1   (set 
 
ff=30&&exit /b))
 
 
:2
set /a d+=1
 
if !d! GEQ 32  (set /a mes-=1&if !mes!==2 (set fa=&set /a d=!d!-32&set w=3&goto :3) else (if 
 
!mes!==8 (set fa=&set /a d=!d!-32&set w=2&goto :2) else (set fa=&set /a d=!d!-32&set w=1&goto 
 
:1)))
 
 
 
if !d!==31  (set fa=01&&exit /b)
if !d!==30  (set fa=02&&exit /b)
if !d!==29  (set fa=03&&exit /b)             
if !d!==28  (set fa=04&&exit /b)
if !d!==27  (set fa=05&&exit /b)
if !d!==26  (set fa=06&&exit /b)
if !d!==25  (set fa=07&&exit /b)
if !d!==24  (set fa=08&&exit /b)
if !d!==23  (set fa=09&&exit /b)
if !d!==22  (set fa=10&&exit /b)
if !d!==21  (set fa=11&&exit /b)
if !d!==20  (set fa=12&&exit /b)
if !d!==19  (set fa=13&&exit /b)
if !d!==18  (set fa=14&&exit /b)
if !d!==17  (set fa=15&&exit /b)
if !d!==16  (set fa=16&&exit /b)
if !d!==15  (set fa=17&&exit /b)
if !d!==14  (set fa=18&&exit /b)
if !d!==13  (set fa=19&&exit /b)
if !d!==12  (set fa=20&&exit /b)
if !d!==11  (set fa=21&&exit /b)
if !d!==10  (set fa=22&&exit /b)
if !d!==9   (set fa=23&&exit /b)
if !d!==8   (set fa=24&&exit /b)
if !d!==7   (set fa=25&&exit /b) 
if !d!==6   (set fa=26&&exit /b)
if !d!==5   (set fa=27&&exit /b)
if !d!==4   (set fa=28&&exit /b)
if !d!==3   (set fa=29&&exit /b)
if !d!==2   (set fa=30&&exit /b)
if !d!==1   (set fa=31&&exit /b)
 
:3
set /a e+=1
if !e! GEQ 30 (set fa=&set w=2&set /a e=!e!-28&set /a mes-=1&goto :2)
if !e!==29  (set fa=01&&exit /b)
if !e!==28  (set fa=02&&exit /b)
if !e!==27  (set fa=03&&exit /b)
if !e!==26  (set fa=04&&exit /b)
if !e!==25  (set fa=05&&exit /b)
if !e!==24  (set fa=06&&exit /b)
if !e!==23  (set fa=07&&exit /b)
if !e!==22  (set fa=08&&exit /b)
if !e!==21  (set fa=09&&exit /b)
if !e!==20  (set fa=10&&exit /b)
if !e!==19  (set fa=11&&exit /b)
if !e!==18  (set fa=12&&exit /b)
if !e!==17  (set fa=13&&exit /b)
if !e!==16  (set fa=14&&exit /b)
if !e!==15  (set fa=15&&exit /b)
if !e!==14  (set fa=16&&exit /b)
if !e!==13 (set fa=17&& exit /b)
if !e!==12 (set fa=18&&exit /b)
if !e!==11  (set fa=19&&exit /b)
if !e!==10  (set fa=20&&exit /b)
if !e!==9   (set fa=21&&exit /b)
if !e!==8   (set fa=22&&exit /b)
if !e!==7   (set fa=23&&exit /b) 
if !e!==6   (set fa=24&&exit /b)
if !e!==5   (set fa=25&&exit /b)
if !e!==4   (set fa=26&&exit /b)
if !e!==3   (set fa=27&&exit /b)
if !e!==2   (set fa=28&&exit /b)
if !e!==1   (set fa=29&&exit /b)
Только пока лучше всего отнимать в пределах нынешнего года.Надо что то придумать с весокосным годом.

Добавлено через 1 минуту
Цитата Сообщение от greg zakharov Посмотреть сообщение
Да и смысл говнокодить на командном языке?
В задании говориться только об смд.Зачем сюда впихивать строки не относящиеся к смд?
0
 Аватар для volodin661
6686 / 2278 / 347
Регистрация: 10.12.2013
Сообщений: 7,875
03.04.2016, 17:47
Цитата Сообщение от ZoOoO Посмотреть сообщение
Ну что?Сделал кто нибудь?Или все забили )))
гвозди бы делать из этих людей,
в мире бы не было крепче гвоздей

(C) Н.С.Тихонов
1
 Аватар для volodin661
6686 / 2278 / 347
Регистрация: 10.12.2013
Сообщений: 7,875
03.04.2016, 17:59
Надо подумать над проектом связывания
кафедр Вычислительной математики напрямую
с CyberForum, чтобы попусту не утомлять студента
перекладыванием вопросов и пересыланием ответов
между последними, ему(студенту) и так
есть чем заняться в период наступающего потепления.
0
03.04.2016, 18:13

Не по теме:

ZoOoO, не относится к теме то, что именуется Вами "смд" (садомаза Дейкстры?) Командный язык - это абстракция, представляющая собой компиляцию команд, команда в свою очередь ещё более абстрактное понятие, так что бузить относительно "к теме не относится" могут только те, кто привык мыслить конкретными, а не абстрактными категориями.

0
 Аватар для ZoOoO
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
03.04.2016, 18:26
Я для себя отметил,что в этой ветке командные файлы пишуться исключительно на командах входящих в смд.ехе.Человек обратился в эту ветку,значит я и написал на командах смд.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
04.04.2016, 00:48
Цитата Сообщение от ZoOoO Посмотреть сообщение
в этой ветке командные файлы пишуться исключительно на командах входящих в смд.ехе
В правилах для этой ветки надо предлагать код с помощью cmd/bat в первую очередь желательно, как продолжение уже, если разумно и (или) реально. А также, некоторые команды сами являются утилитами и могут быть использованы и другими скриптовыми языками.

Добавлено через 7 минут
И уж конечно создать папку с датой -10000 дней проще так как предлагал выше greg zakharov,
Windows Batch file
1
for /f "delims=" %%i in ('powershell "(Get-Date).AddDays(-10000).ToString('dd.MM.yyyy')"') do md "%%i"
.
0
0 / 0 / 1
Регистрация: 16.02.2015
Сообщений: 35
04.04.2016, 18:09  [ТС]
что касаемо заданий то действительно преподаватель требует командный файл. написанный именно в командной строке.
0
 Аватар для ZoOoO
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
04.04.2016, 23:33
Нуууу.В общем я сделал блок,который создает папку с названием дня,месяца и года в зависимости от количества отнимаемых дней от настоящей даты.
Но у меня получается 16 ноября 1988 года,а не 17 ноября 1988,как в этом коде:
Цитата Сообщение от alpap Посмотреть сообщение
Windows Batch file
1
for /f "delims=" %%i in ('powershell "(Get-Date).AddDays(-10000).ToString('dd.MM.yyyy')"') do md "%%i"
Добавлено через 1 час 4 минуты
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
@echo off 
Setlocal EnableDelayedExpansion
 
set  /p y="Vvedite kolichestvo dney: "
set  mess=%date:~3,2%
set  day=%date:~0,2%
set  god=%date:~-4%
 
if %mess%==01 (set mes=1&goto :31)
if %mess%==02 (set mes=2&goto :29)
if %mess%==03 (set mes=3&goto :31)
if %mess%==04 (set mes=4&goto :30)
if %mess%==05 (set mes=5&goto :31)
if %mess%==06 (set mes=6&goto :30)
if %mess%==07 (set mes=7&goto :31)
if %mess%==08 (set mes=8&goto :31)
if %mess%==09 (set mes=9&goto :30)
if %mess%==10 (set mes=10&goto :31)
if %mess%==11 (set mes=11&goto :30)
if %mess%==12 (set mes=12&goto :31)
 
:31
set w=2
if %day%==01 (set d=31&goto 10)
if %day%==02 (set d=30&goto 10)
if %day%==03 (set d=29&goto 10)
if %day%==04 (set d=28&goto 10)
if %day%==05 (set d=27&goto 10)
if %day%==06 (set d=26&goto 10)
if %day%==07 (set d=25&goto 10)
if %day%==08 (set d=24&goto 10)
if %day%==09 (set d=23&goto 10)
if %day%==10 (set d=22&goto 10)
if %day%==11 (set d=21&goto 10)
if %day%==12 (set d=20&goto 10)
if %day%==13 (set d=19&goto 10)
if %day%==14 (set d=18&goto 10)
if %day%==15 (set d=17&goto 10)
if %day%==16 (set d=16&goto 10)
if %day%==17 (set d=15&goto 10)
if %day%==18 (set d=14&goto 10)
if %day%==19 (set d=13&goto 10)
if %day%==20 (set d=12&goto 10)
if %day%==21 (set d=11&goto 10)
if %day%==22 (set d=10&goto 10)
if %day%==23 (set d=9&goto 10)
if %day%==24 (set d=8&goto 10)
if %day%==25 (set d=7&goto 10)
if %day%==26 (set d=6&goto 10)
if %day%==27 (set d=5&goto 10)
if %day%==28 (set d=4&goto 10)
if %day%==29 (set d=3&goto 10)
if %day%==30 (set d=2&goto 10)
if %day%==31 (set d=1&goto 10)
 
:30
set w=1
if %day%==01 (set c=30&goto 10)
if %day%==02 (set c=29&goto 10)
if %day%==03 (set c=28&goto 10)
if %day%==04 (set c=27&goto 10)
if %day%==05 (set c=26&goto 10)
if %day%==06 (set c=25&goto 10)
if %day%==07 (set c=24&goto 10)
if %day%==08 (set c=23&goto 10)
if %day%==09 (set c=22&goto 10)
if %day%==10 (set c=21&goto 10)
if %day%==11 (set c=20&goto 10)
if %day%==12 (set c=19&goto 10)
if %day%==13 (set c=18&goto 10)
if %day%==14 (set c=17&goto 10)
if %day%==15 (set c=16&goto 10)
if %day%==16 (set c=15&goto 10)
if %day%==17 (set c=14&goto 10)
if %day%==18 (set c=13&goto 10)
if %day%==19 (set c=12&goto 10)
if %day%==20 (set c=11&goto 10)
if %day%==21 (set c=10&goto 10)
if %day%==22 (set c=9&goto 10)
if %day%==23 (set c=8&goto 10)
if %day%==24 (set c=7&goto 10)
if %day%==25 (set c=6&goto 10)
if %day%==26 (set c=5&goto 10)
if %day%==27 (set c=4&goto 10)
if %day%==28 (set c=3&goto 10)
if %day%==29 (set c=2&goto 10)
if %day%==30 (set c=1&goto 10)
 
:29
set w=3
if %day%==01 (set e=29&goto 10)
if %day%==02 (set e=28&goto 10)
if %day%==03 (set e=27&goto 10)
if %day%==04 (set e=26&goto 10)
if %day%==05 (set e=25&goto 10)
if %day%==06 (set e=24&goto 10)
if %day%==07 (set e=23&goto 10)
if %day%==08 (set e=22&goto 10)
if %day%==09 (set e=21&goto 10)
if %day%==10 (set e=20&goto 10)
if %day%==11 (set e=19&goto 10)
if %day%==12 (set e=18&goto 10)
if %day%==13 (set e=17&goto 10)
if %day%==14 (set e=16&goto 10)
if %day%==15 (set e=15&goto 10)
if %day%==16 (set e=14&goto 10)
if %day%==17 (set e=13&goto 10)
if %day%==18 (set e=12&goto 10)
if %day%==19 (set e=11&goto 10)
if %day%==20 (set e=10&goto 10)
if %day%==21 (set e=9&goto 10)
if %day%==22 (set e=8&goto 10)
if %day%==23 (set e=7&goto 10)
if %day%==24 (set e=6&goto 10)
if %day%==25 (set e=5&goto 10)
if %day%==26 (set e=4&goto 10)
if %day%==27 (set e=3&goto 10)
if %day%==28 (set e=2&goto 10)
if %day%==29 (set e=1&goto 10)
 
:10
for /l %%a in (1,1,1000000) do (
set /a n+=1
if !n! LEQ %y% (call :!w!) 
)
md %ff%%fa%%fu%%f%.!mes!.!god!
exit /b
 
:1
set /a c+=1
if !c! GEQ 31  (set ff=&set w=2&&set /a c=0&set /a mes-=1&goto :2)
if !c!==30  (set ff=01&&exit /b)
if !c!==29  (set ff=02&&exit /b)             
if !c!==28  (set ff=03&&exit /b)
if !c!==27  (set ff=04&&exit /b)
if !c!==26  (set ff=05&&exit /b)
if !c!==25  (set ff=06&&exit /b)
if !c!==24  (set ff=07&&exit /b)
if !c!==23  (set ff=08&&exit /b)
if !c!==22  (set ff=09&&exit /b)
if !c!==21  (set ff=10&&exit /b)
if !c!==20  (set ff=11&&exit /b)
if !c!==19  (set ff=12&&exit /b)
if !c!==18  (set ff=13&&exit /b)
if !c!==17  (set ff=14&&exit /b)
if !c!==16  (set ff=15&&exit /b)
if !c!==15  (set ff=16&&exit /b)
if !c!==14  (set ff=17&&exit /b)
if !c!==13  (set ff=18&&exit /b)
if !c!==12  (set ff=19&&exit /b)
if !c!==11  (set ff=20&&exit /b)
if !c!==10  (set ff=21&&exit /b)
if !c!==9   (set ff=22&&exit /b)
if !c!==8   (set ff=23&&exit /b)
if !c!==7   (set ff=24&&exit /b) 
if !c!==6   (set ff=25&&exit /b)
if !c!==5   (set ff=26&&exit /b)
if !c!==4   (set ff=27&&exit /b)
if !c!==3   (set ff=28&&exit /b)
if !c!==2   (set ff=29&&exit /b)
if !mes!==0 (set /a mes=!mes!+12&set /a god-=1&set /a c=0&set w=2&goto :2) else  (if !c!==1   (set ff=30&&exit /b))
 
:2
set /a d+=1
if !d! GEQ 32  (set /a mes-=1&if !mes!==2 (set fa=&set /a d=0&set w=3&goto :3) else (if !mes!==7 (set fa=&set /a d=0&set w=2&goto :2) else (set fa=&set /a d=0&set w=1&goto :1)))
if !d!==31  (set fa=01&&exit /b)
if !d!==30  (set fa=02&&exit /b)
if !d!==29  (set fa=03&&exit /b)             
if !d!==28  (set fa=04&&exit /b)
if !d!==27  (set fa=05&&exit /b)
if !d!==26  (set fa=06&&exit /b)
if !d!==25  (set fa=07&&exit /b)
if !d!==24  (set fa=08&&exit /b)
if !d!==23  (set fa=09&&exit /b)
if !d!==22  (set fa=10&&exit /b)
if !d!==21  (set fa=11&&exit /b)
if !d!==20  (set fa=12&&exit /b)
if !d!==19  (set fa=13&&exit /b)
if !d!==18  (set fa=14&&exit /b)
if !d!==17  (set fa=15&&exit /b)
if !d!==16  (set fa=16&&exit /b)
if !d!==15  (set fa=17&&exit /b)
if !d!==14  (set fa=18&&exit /b)
if !d!==13  (set fa=19&&exit /b)
if !d!==12  (set fa=20&&exit /b)
if !d!==11  (set fa=21&&exit /b)
if !d!==10  (set fa=22&&exit /b)
if !d!==9   (set fa=23&&exit /b)
if !d!==8   (set fa=24&&exit /b)
if !d!==7   (set fa=25&&exit /b) 
if !d!==6   (set fa=26&&exit /b)
if !d!==5   (set fa=27&&exit /b)
if !d!==4   (set fa=28&&exit /b)
if !d!==3   (set fa=29&&exit /b)
if !d!==2   (set fa=30&&exit /b)
if !d!==1   (set fa=31&&exit /b)
 
:3
set /a e+=1
set /a da+=1
if !e! GEQ 30 (set fu=&set w=2&set /a e=0&set /a mes-=1&goto :2)
if !e!==29  (set fu=01&&exit /b)
if !e!==28  (set fu=02&&exit /b)
if !e!==27  (set fu=03&&exit /b)
if !e!==26  (set fu=04&&exit /b)
if !e!==25  (set fu=05&&exit /b)
if !e!==24  (set fu=06&&exit /b)
if !e!==23  (set fu=07&&exit /b)
if !e!==22  (set fu=08&&exit /b)
if !e!==21  (set fu=09&&exit /b)
if !e!==20  (set fu=10&&exit /b)
if !e!==19  (set fu=11&&exit /b)
if !e!==18  (set fu=12&&exit /b)
if !e!==17  (set fu=13&&exit /b)
if !e!==16  (set fu=14&&exit /b)
if !e!==15  (set fu=15&&exit /b)
if !e!==14  (set fu=16&&exit /b)
if !e!==13 (set fu=17&& exit /b)
if !e!==12 (set fu=18&&exit /b)
if !e!==11  (set fu=19&&exit /b)
if !e!==10  (set fu=20&&exit /b)
if !e!==9   (set fu=21&&exit /b)
if !e!==8   (set fu=22&&exit /b)
if !e!==7   (set fu=23&&exit /b) 
if !e!==6   (set fu=24&&exit /b)
if !e!==5   (set fu=25&&exit /b)
if !e!==4   (set fu=26&&exit /b)
if !e!==3   (set fu=27&&exit /b)
if !e!==2   (set fu=28&&exit /b)
if !da! GEQ 31 (set /a e=0&set w=28&&goto :28) else (if !e!==1 (set fu=29&&exit /b))
 
:28
set /a re+=1
set /a k+=1
if !k! GEQ 29  (set f=&set w=2&set /a k=0&set /a mes-=1&goto :2)
if !k!==28  (set f=01&&exit /b)
if !k!==27  (set f=02&&exit /b)
if !k!==26  (set f=03&&exit /b)
if !k!==25  (set f=04&&exit /b)
if !k!==24  (set f=05&&exit /b)
if !k!==23  (set f=06&&exit /b)
if !k!==22  (set f=07&&exit /b)
if !k!==21  (set f=08&&exit /b)
if !k!==20  (set f=09&&exit /b)
if !k!==19  (set f=10&&exit /b)
if !k!==18  (set f=11&&exit /b)
if !k!==17  (set f=12&&exit /b)
if !k!==16  (set f=13&&exit /b)
if !k!==15  (set f=14&&exit /b)
if !k!==14  (set f=15&&exit /b)
if !k!==13 (set f=16&& exit /b)
if !k!==12 (set f=17&&exit /b)
if !k!==11  (set f=18&&exit /b)
if !k!==10  (set f=19&&exit /b)
if !k!==9   (set f=20&&exit /b)
if !k!==8   (set f=21&&exit /b)
if !k!==7   (set f=22&&exit /b) 
if !k!==6   (set f=23&&exit /b)
if !k!==5   (set f=24&&exit /b)
if !k!==4   (set f=25&&exit /b)
if !k!==3   (set f=26&&exit /b)
if !k!==2   (set f=27&&exit /b)
if !re! GEQ 117 (set re=0&set /a da=0&set /a k=0&set w=3&goto :3) else (if !k!==1 (set f=28&&exit /b))

Странно конечно,почему различие в один день.Я знаю, что количество дней в месяцах года, каждый год одинаково.Отличается только февраль.Раз в четыре года у него 29 дней.

А по поводу копирования файлов, созданных в нечетные дни всего прошлого года,то у меня есть идея.Но.У меня папка создается с датой в 10000 дней назад в течении шести секунд.То даже страшно подумать,сколько секунд будет выполнятся задание по копированию.Если не секрет,что за странное задание?Может у Ваших одногруппников есть задание на создание сетевого чата с помощью команд смд?))

Добавлено через 2 минуты
КОСЯК НАЙДЕН!
По моему во второй метке, вместо числа 19 стояло число 192.Теперь все работает.
0
 Аватар для b0gus
741 / 339 / 134
Регистрация: 17.03.2014
Сообщений: 841
04.04.2016, 23:36
Цитата Сообщение от ZoOoO Посмотреть сообщение
Отличается только февраль.Раз в четыре года у него 29 дней.
однако наука говорит, что это НЕ всегда не так )
Code
1
2
3
4
5
6
7
8
9
10
11
НАЧАЛО_АЛГОРИТМА
год = 4 цифры года, например, 1900
if (год НЕ делится на 4 без остатка)   goto NO_LEEP
if (год НЕ делится на 100 без остатка) goto LEEP
if (год НЕ делится на 400 без остатка) goto NO_LEEP
:LEEP
  год является високосным (366 дней)
КОНЕЦ_АЛГОРИТМА
:NO_LEEP
  год НЕ является високосным (365 дней)
КОНЕЦ_АЛГОРИТМА
0
 Аватар для ZoOoO
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
04.04.2016, 23:44
Я знаю про это.Но в течении 10000 дней все високосные.
Я не смог в смд разделить число с остатком.
Сострите там ,что я написал,что все нормально.Ничего не нормально.Просто у меня уже 5 число))
0
 Аватар для ZoOoO
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
09.04.2016, 00:30
Автор.Как успехи?)
0
0 / 0 / 1
Регистрация: 16.02.2015
Сообщений: 35
09.04.2016, 08:50  [ТС]
нашел вроде как похожую работу. одногрупник пообещал скинуть. вечером скину
0
0 / 0 / 1
Регистрация: 16.02.2015
Сообщений: 35
13.04.2016, 06:44  [ТС]
вот что нашел

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
@ECHO off
ECHO.
cls
title Program's name is myprog!!!
set kol=0
set allvol=0
set files=0
set volarc=0
IF NOT "%OS%"=="Windows_NT" COTO Errlog
for /f "tokens=1" %%a in ('echo. ^| date/t') do set pDate=%%a
echo Current date: %pDate%
CALL :ReadDateFormat
CALL :ParseDate %pDate%
set GYearx=%Gyear%
::set GYear=%Gyear:~2,2%
CALL :JDate %GYear% %GMonth% %GDay%
SET  /A NewJDate = %JDate% - 50 
::ECHO Days subtracted: 50
set NewJDate50=%NewJDate%
CALL :GDate %NewJDate%
CALL :ReformatDate %GDate%
set pDate=%LDate%
CALL :ParseDate %pDate%
set WithoutPoints=%GDay%%GMonth%%GYearx%
ECHO Resulting date: %GDay%.%GMonth%.%GYearx%
set LDate50=%LDate%
if exist "dir%WithoutPoints%" rmdir /S /Q ".\dir%WithoutPoints%
echo Creating dir: dir%WithoutPoints%
mkdir "dir%WithoutPoints%"
SET  /A NewJDate = %JDate% - 100
set NewJDate100=%NewJDate%
CALL :GDate %NewJDate%
CALL :ReformatDate %GDate%
set LDate100=%LDate%
::echo LDate100=%LDate100%    NewJDate100=%NewJDate100%
::echo LDate50=%LDate50%    NewJDate50=%NewJDate50%
if exist ".\report.log" (del ".\report.log")
dir /a:-d /s /b > _temp.txt
for /f %%a in ('type _temp.txt') do (
for /f "tokens=1,3" %%b in ('dir /-c %%a ^| findstr /B /R /C:"[0-9]*\.[0-9]*\.[0-9]*"') do (
call :a1 %%b %%c %%a
)
)
echo Quantity of the copied files: %kol% >> report.log
echo Total amount of the copied files: %allvol% >> report.log
dir "%CD%\dir%WithoutPoints%" /s /b > _temp2.txt
for /F %%a in ('type _temp2.txt') do (
for /f "tokens=1,3" %%b in ('dir /-c %%a ^| findstr /B /R /C:"[0-9]*\.[0-9]*\.[0-9]*"') do (
call :a2 %%a %%c)
)
echo Quantity of the archived files: %files% >> report.log
echo Total amount of the archived files: %volarc% >> report.log
if exist ".\_temp.txt" (del ".\_temp.txt")
if exist ".\_temp2.txt" (del ".\_temp2.txt")
echo END OF THE PROGRAM!!!
GOTO:EOF
::+++++++++++++++++++++++++++++++++++++++++++++++
:a1
set pdate=%1
set vol=%2
set name=%3
call :ParseDate %pDate%
CALL :jdate  %GYear% %GMonth% %GDay%
set NewJDate=%jdate%
CALL :GDate %NewJDate%
CALL :ReformatDate %GDate%
if %JDate% GEQ %NewJDate100% (
if %JDate% LEQ %NewJDate50% (
copy "%name%" .\dir%WithoutPoints% > NUL 
echo Name of the copied file: "%name%" >> report.log
echo Volume of the copied file: %vol% >> report.log 
set /a kol = %kol% + 1 
set /a allvol = %allvol%+ %vol%
)
)
goto:eof
::+++++++++++++++++++++++++++++++++++++++++++++++
:a2
set afile=%1
set avol=%2
"%programfiles%\WinRar\Winrar.exe" a -afrar -agDD.MM.YYYY -sm2000000 -df -ep "BackUp.rar" "%afile%" && (echo Archived file's names: %afile% >> report.log & set /a files=%files%+1 & set /a volarc=%volarc%+%avol% & echo Volume of the copied file: %avol% >> report.log)
goto:eof
::+++++++++++++++++++++++++++++++++++++++++++++++
:gdate
set /a p = %NewJDate% + 68569
set /a p1 = p*4
set /a q = p1 / 146097
set /a q1 = 146097 * q + 3
set /a r = p - q1 / 4
set /a r1 = r + 1
set /a r2 = 4000 * r1
set /a s = r2 / 1461001
set /a s1= 1461 * s
set /a t = %r% - s1 / 4 + 31
set /a t1 = 80 * t
set /a u = t1 / 2447
set /a v = u / 11
set /a v1 = q - 49
set /a v2 = 2447 * u
set /a gyear = 100 * v1 + s + v
set /a gmonth = u + 2 - 12 * v
set /a gday = t - v2 / 80
for %%a in (p q q1 q2 r r1 r2 s s1 t t1 u v v1 v2) do set  %%a=
if 1%gmonth% LSS 20 set gmonth=0%gmonth%
if 1%gday% LSS  20 set gday=0%gday%
set gdate=%gyear% %gmonth% %gday%
::echo gdate=%gdate%
goto:eof
rem++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
:jdate
SET MM=%2
SET DD=%3
IF %MM:~0,1% EQU 0 SET MM=%MM:~1%
IF %DD:~0,1% EQU 0 SET DD=%DD:~1%
set /a m1 = %MM% - 14
SET /A  Month1 = m1 / 12
SET /A Year1  = %1 + 4800
set /a b1 = %Year1% + %Month1%
set /a b2 = 1461 * b1
set /a b = b2 / 4
set /a c1 = %MM% - 2 - 12 * %Month1%
set /a c2 = 367 * c1
set /a c = c2 / 12
set /a d1 = %Year1% + %Month1% + 100
set /a d2 = d1 / 100
set /a d3 = 3 * d2
set /a d = d3 / 4
set /a jdate = b + c - d + %DD% - 32075
rem SET /A JDate = 1461 * ( %Year1% + %Month1% ) / 4 +
rem 367 * (%MM% - 2 -12 * %Month1% ) / 12 -
rem ( 3 * ( ( %Year1% + %Month1% + 100 ) / 100 ) ) / 4 + %DD% - 32075
FOR %%A IN (Month1 Year1 b b1 b2 c c1 c2 d d1 d2 d3) DO SET %%A=
GOTO:EOF
rem+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
:ParseDate
IF %iDate%==0 FOR /F "ToKENS=1-3 DELIMS=%sDate%" %%A IN ('ECHO.%pDate%') DO (
SET GYear=%%C
SET GMonth=%%A
SET GDay=%%B)
IF %iDate%==1 FOR /F "TOKENS=1-3 DELIMS=%sDate%" %%A IN ('ECHO.%pDate%') DO (
SET GYear=%%C
SET GMonth=%%B
SET GDay=%%A)
IF %iDate%==2 FOR /F "TOKENS=1-3 DELIMS=%sDate%" %%A IN ('ECHO.%pDate%') DO (
SET GYear=%%A
SET GMonth=%%B
SET GDay=%%C)
::echo cday=%gday%
::echo cmonth=%gmonth%
::echo gyear=%gyear%
GOTO:EOF
rem+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
:ReadDateFormat
START /W REGEDIT /E "%TEMP%\TEMP.REG" "HKEY_CURRENT_USER\Control Panel\International"
FOR /F "tokens=1* delims==" %%A IN ('TYPE "%TEMP%\TEMP.REG" ^| FIND /I  "iDate"') DO SET iDate=%%B
FOR /F "tokens=1* delims==" %%A IN ('TYPE "%TEMP%\TEMP.REG" ^| FIND /I "sDate"') DO SET sDate=%%B
DEL "%TEMP%\TEMP.REG"
SET iDate=%iDate:"=%
SET sDate=%sDate:"=%
GOTO:EOF
rem +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
:ReformatDate
IF %iDate%==0 SET LDate=%2%sDate%%3%sDate%%1
IF %iDate%==1 SET LDate=%3%sDate%%2%sDate%%1
IF %iDate%==2 SET LDate=%1%sDate%%2%sDate%%3
GOTO:EOF
Вложения
Тип файла: doc Blok_skhema.doc (57.0 Кб, 10 просмотров)
0
 Аватар для volodin661
6686 / 2278 / 347
Регистрация: 10.12.2013
Сообщений: 7,875
13.04.2016, 07:01
не надо обладать даром предвидения, чтобы догадаться,
что и спустя 10000 дней в этой теме будет продолжать весело журчать
'говнокод' ( по меткому определению Захарыча ), любовно направляемый
искусными мастерами интерпретации по разным руслам, протокам и расселинкам.
0
 Аватар для vavun
10593 / 5556 / 865
Регистрация: 07.04.2013
Сообщений: 15,660
13.04.2016, 07:06
volodin661, доколе вы будете заниматься пустословием вместо помощи ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.04.2016, 07:06
Помогаю со студенческими работами здесь

Создать командный файл, с команды PAUSE реализовать следующие действия
Создать командный файл, с помощью команды PAUSE реализовать следующие действия: вывести на экран &quot;Отформатировать диск С:\?...

Написать командный файл который делает некоторые действия
Написать командный файл который делает текущим каталог D:\личное\shibanova, выводит вопрос &quot;What's your name?&quot; и, с помощью...

Написать командный файл, который выполняет некоторые действия
Написать командный файл, который выполняет следующие действия: 1. Выводит на экран сообщение &quot;My comand file&quot;; 2. создает в...

Разработать и выполнить командный файл, выполняющий поиск на диске
Разработать и выполнить командный файл, выполняющий поиск на диске С:(или любом доступном диске) файла с заданным именем. Если файл не...

Создайте командный файл, выполняющий переименование файлов заданного типа
Создайте командный файл, выполняющий переименование файлов заданного типа. В качестве первого (обязательного) параметра должно быть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru