Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
1 / 1 / 1
Регистрация: 10.06.2013
Сообщений: 11
1

Предыдущий день

10.06.2013, 12:45. Показов 1355. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
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
@echo off  
    
  for /f "tokens=1" %%i in ('date /t') do set thedate=%%i  
    
  set mm=%thedate:~3,2%  
  set dd=%thedate:~0,2%  
  set yyyy=%thedate:~6,4%  
  echo.  
  echo.  
  echo TODAY: %dd%.%mm%.%yyyy%  
 
    
  if %dd%==08 (  
  set dd=8 ) else (  
  if %dd%==09 (  
  set dd=9 ) )  
    
  if %mm%==08 (  
  set mm=8 ) else (  
  if %mm%==09 (  
  set mm=9 ) )  
    
  set /A dd=%dd% - 1  
  set /A mm=%mm% + 0  
    
  if /I %dd% GTR 0 goto DONE  
  set /A mm=%mm% - 1  
  if /I %mm% GTR 0 goto ADJUSTDAY  
  set /A mm=12  
  set /A yyyy=%yyyy% - 1  
    
  :ADJUSTDAY  
  if %mm%==1 goto SET31  
  if %mm%==2 goto LEAPCHK  
  if %mm%==3 goto SET31  
  if %mm%==4 goto SET30  
  if %mm%==5 goto SET31  
  if %mm%==6 goto SET30  
  if %mm%==7 goto SET31  
  if %mm%==8 goto SET31  
  if %mm%==9 goto SET30  
  if %mm%==10 goto SET31  
  if %mm%==11 goto SET30  
  if %mm%==12 goto SET31  
    
  goto ERROR  
    
  :SET31  
  set /A dd=31 + %dd%  
  goto DONE  
    
  :SET30  
  set /A dd=30 + %dd%  
  goto DONE  
    
  :LEAPCHK  
  set /A tt=%yyyy% %% 4  
  if not %tt%==0 goto SET28  
  set /A tt=%yyyy% %% 100  
  if not %tt%==0 goto SET29  
  set /A tt=%yyyy% %% 400  
  if %tt%==0 goto SET29  
    
  :SET28  
  set /A dd=28 + %dd%  
  goto DONE  
    
  :SET29  
  set /A dd=29 + %dd%  
    
  :DONE  
  if /i %dd% LSS 10 set dd=0%dd%  
  if /I %mm% LSS 10 set mm=0%mm%  
  set YESTERDAY=%dd%.%mm%.%yyyy%  
 
  echo YESTERDAY: %YESTERDAY%  
  pause
данный скрипт имеет формат вывода!
http://imageshack.us/a/img268/1300/75347868.png
Подскажите пожалуйста как убрать эти пробелы?
set /a не помогает.
требуется привести к виду YYYYMMDD, что б отправлять файлы вчерашним днем, которые имеют имя ERP_20130609.xml
Миниатюры
Предыдущий день  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.06.2013, 12:45
Ответы с готовыми решениями:

Добавление в архив файлов за предыдущий месяц с заданными исключениями
Добрый день. есть большое количество файлов, имя задаётся по виду: 20120701_xxx 20120702_yyy...

Прибыль за предыдущий день
Помогите пожалуйста решить такую проблему: Есть таблица которая состоит с 3 столбцов, "Дата",...

Как возвратить рабочий стол в предыдущий день?
Такая проблема. Вчера вечером пропал важный Exel файл. Что, как, чего - непонятно. Найти его не...

Царевна-лягушка съедает ежедневно на К% комаров больше, чем в предыдущий день, и еще два комара. Составить алгоритм
Царевна-лягушка съедает ежедневно на К% комаров больше, чем в предыдущий день, и еще два комара....

2
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
10.06.2013, 18:31 2
В коде на вид правильно все.
Что там за кодировка такая?
Пришлите батник в заархивированном виде. (расширенный режим - скрепка).
0
Клюг
7674 / 3189 / 382
Регистрация: 03.05.2011
Сообщений: 8,380
10.06.2013, 20:43 3
Пробелы в хвостах строк.
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
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
@echo off
 
  for /f "tokens=1" %%i in ('date /t') do set thedate=%%i
 
  set mm=%thedate:~3,2%
  set dd=%thedate:~0,2%
  set yyyy=%thedate:~6,4%
  echo.
  echo.
  echo TODAY: %dd%.%mm%.%yyyy%
 
 
  if %dd%==08 (
  set dd=8 ) else (
  if %dd%==09 (
  set dd=9 ) )
 
  if %mm%==08 (
  set mm=8 ) else (
  if %mm%==09 (
  set mm=9 ) )
 
  set /A dd=%dd% - 1
  set /A mm=%mm% + 0
 
  if /I %dd% GTR 0 goto DONE
  set /A mm=%mm% - 1
  if /I %mm% GTR 0 goto ADJUSTDAY
  set /A mm=12
  set /A yyyy=%yyyy% - 1
 
  :ADJUSTDAY
  if %mm%==1 goto SET31
  if %mm%==2 goto LEAPCHK
  if %mm%==3 goto SET31
  if %mm%==4 goto SET30
  if %mm%==5 goto SET31
  if %mm%==6 goto SET30
  if %mm%==7 goto SET31
  if %mm%==8 goto SET31
  if %mm%==9 goto SET30
  if %mm%==10 goto SET31
  if %mm%==11 goto SET30
  if %mm%==12 goto SET31
 
  goto ERROR
 
  :SET31
  set /A dd=31 + %dd%
  goto DONE
 
  :SET30
  set /A dd=30 + %dd%
  goto DONE
 
  :LEAPCHK
  set /A tt=%yyyy% %% 4
  if not %tt%==0 goto SET28
  set /A tt=%yyyy% %% 100
  if not %tt%==0 goto SET29
  set /A tt=%yyyy% %% 400
  if %tt%==0 goto SET29
 
  :SET28
  set /A dd=28 + %dd%
  goto DONE
 
  :SET29
  set /A dd=29 + %dd%
 
  :DONE
  if /i %dd% LSS 10 set dd=0%dd%
  if /I %mm% LSS 10 set mm=0%mm%
  set YESTERDAY=ERP_%yyyy%%mm%%dd%.xml
 
  echo YESTERDAY: %YESTERDAY%
  pause
2
10.06.2013, 20:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.06.2013, 20:43
Помогаю со студенческими работами здесь

Определить день недели, на который приходится день с датой d (день), m (месяц)
Считая, что год не високосный и его 1 января приходится на день недели wd1, определиь wd -день...

На овощную базу привезли помидоры. В первый день 8 машин по а ящиков; во второй день 6 машин по в ящиков в каждой. В какой день помидоров привезли бол
На овощную базу привезли помидоры. В первый день 8 машин по а ящиков; во второй день 6 машин по в...

Розница 2.0 банковские карты, возврат день-в-день одной позиции(из нескольких)
после оформлении возврата (удаления лишних строк, подтверждения оплаты на терминале) возникает...

Вводится k-й день невисокосного года - определить, является ли этот день рабочим.
Вводится k-й (1<=k<=365) день невисокостного года, в котором 1 января – понедельник. Определить,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru