Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
CMD/BAT Продолжение выполнение bat Файла adb shell svc data enable adb shell pm clear com.android.browser start /wait C:\op\1.cmd adb shell svc data disable Имею Bat , код в нем нормально работает до строчки start /wait C:\op\1.cmd По коду -ждем пока исполниться 1.cmd и продолжаем код.Но он не закрывается после исполнения.Знаю что по умолчанию исполняемые файлы открываются с параметром /k . Прописал Exit,все равно.... https://www.cyberforum.ru/ cmd-bat/ thread1810558.html CMD/BAT Батник для перезапуска сеанса windows
помогите пожалуйиа... у меня другая ситуация... надо следующее... мне надо быстро завершить текуший сейн пользователя и опять же зайти туд обратно... этаки мини перезагрузка..... сейчас пользуюсьь командой с батника Shutdown /l Exit .. но как вы понимаете , этого мало... он только завершает текуший сеанс.. а как сделать чтобы при запсуке батника завершение и запуск пользователя происходило...
CMD/BAT Необходимо распарсить файл https://www.cyberforum.ru/ cmd-bat/ thread1810255.html
Привет, помогите пожалуйста распарсить файл. Есть .txt файл: Текст, текст. Текст. IP test:127.0.0.1 Текст: 127.0.0.1 Текст: 127.0.0.1
CMD/BAT Скопировать файл с существующим именем + дата https://www.cyberforum.ru/ cmd-bat/ thread1810147.html
chcp 1251 NET USE \\Serv1\backup /USER:Admin 1q2w3e4r xcopy "\\Serv1\backup\*.*" "D:\Backups" /i /y /s /e Здравствуйте! Копирую файлы. Подскажите, как при копировании к существующему имени файла добавлять дату, т.е. нужно, чтобы файл копировался со своим именем + дата.
Замена слов в файле CMD/BAT
Есть файл DisplayPowerController.smali в нем есть строчка .field private static final COLOR_FADE_OFF_ANIMATION_DURATION_MILLIS:I = 0x0 нужно заменить на .field private static final COLOR_FADE_OFF_ANIMATION_DURATION_MILLIS:I = 0x258
CMD/BAT Bat для распаковки zip В общем есть папка FRAME в нее каждую неделю подгружается архив .zip старый соответственно удаляется Имя архива практически одинаковое всегда т.е. TIME_mid_7.1.2_v5_b32_777703fdee.zip TIME_mid_7.4.2_v5_b33_787703fdie.zip TIME_mid_7.5.1_v5_b34_789703fdir.zip если прикинуть то меняются в основном числа после mid_ и после _v5 https://www.cyberforum.ru/ cmd-bat/ thread1810098.html
CMD/BAT Ввод на время. Т.е. как choice https://www.cyberforum.ru/ cmd-bat/ thread1810047.html
Я знаю,что в choice есть такая вещь: choice>nul /T Кол-во_времени /C Кнопки_нажатия /CS /D Кнопка_по_умолчанию >nul Можно ли то же самое пихнуть во ввод? Т.е. результат должен быть такой:появляется поле,как в set /p Переменная= ,только оно пропадает через 10 секунд,и,если не ввести туда фразу (пускай это будет "А роза упала на лапу Азора"),то батник перейдет к метке МЕТКА1. Если же...
Замена слов в текстовом файле на указанные рандомные(случайные) CMD/BAT
Всем доброго времени суток! за основу мною было взято это: for /f "tokens=*" %%a in ('more^<itog.txt') do call :_replace %%a goto eof :_replace set i=%* set i=%i:ищем=мeняем% set i=%i:ищем2=меняем2% echo %i%>>new.txt goto eof
CMD/BAT Временное использование другого proxy для работы с ftp Добрый день! Опишу ситуацию. На предприятии есть 2 прокси сервера. Один для обычных работников, с единственным открытым портом -80. И второй, на котором большинство портов открыто. Сама проблема в следующем. Имеется сотрудник, он занимается составлением расписания. Далее данное расписание необходимо загрузить на фтп-шник, и для этих целей он постоянно дергает меня. Я решил написать ему батник,... https://www.cyberforum.ru/ cmd-bat/ thread1809880.html CMD/BAT Резервное копирование батников на Windows 2012 Здравствуйте! Windows Server 2012. Пользователь Администратор с полными правами. Необходимо настроить резервную архивацию с помощью батника. Ни такая процедура xcopy "C:\test\testcopy" "C:\test\backup" /i /y /s /e ни такая chcp 1251 "C:\Program Files\7-Zip\7z.exe" a -t7z "C:\test\backup\basename___%date%.7z" -mx3 "C:\test\testcopy" -ssw не срабатывает. https://www.cyberforum.ru/ cmd-bat/ thread1809870.html
CMD/BAT Чтение значений из таблицы Excel
Нужно брать значения из таблицы. (Таблица должна быть визуально читабельна и легко редактируемой. CSV - плохо читабельный, поэтому не подходит) Произошел случай №1 (tokens=1 - читаем 1 столбик) Произошел случай №2 (tokens=2 - читаем 2 столбик) и т.д. В таблице находятся имена нужных файликов. Надо создать индивидуальные наборы: For /f "tokens=нужный столбец" %%i (таблица эксель.xsl)...
CMD/BAT Не перезаписывается скрипт при помощи PSEXEC Добрый день, столкнулся с такой проблемкой, как ее обойти подскажите. Если выполняю команду первый раз то все ок psexec.exe \\имя_компа -i -s -c 1.bat Если выполняю команду повторно то вываливается ошибка error copiring 1.bat tp remote system т.е. не дает перезаписать файл в каталоге виндовс, если удалю батник из каталога то все ок, как быть? https://www.cyberforum.ru/ cmd-bat/ thread1809834.html
Покинул форум
3672 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
0

Командные сценарии-гибриды - CMD/BAT - Ответ 9560100

20.09.2016, 16:54. Показов 13177. Ответов 29
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Если господа модераторы не будут против - хотелось бы, чтобы тема была среди закрепленных. Цель ветки - просвещение, суть - создание шаблонов командных сценариев, возможности которых расширяются за счет таких сторонних технологий как, скажем, NodeJS. Тема не нова и уже поднималась мной здесь, однако в виду специфики форума предыдущие версии сценариев, увы, невозможно обновить, а исследования между тем того требуют. Общая суть, полагаю, ясна. Если нет, то кратко это можно выразить в виде следующего FAQа:

Q: Что разумеется под словом "гибрид"?
A: Сценарий, сочетающий в себе командный язык Windows и и некую стороннюю технологию, при этом вызов последней осуществляется первым таким образом, что у пользователя не возникает сомнений в том, что это - всего лишь батник.

Q: Есть ли "мусор" в выводе такого сценария?
A: Главное требование любого гибрида - не выводить мусор в стандартный поток вывода командной строки, иначе говоря, весь вывод в консоль является предсказуемым и ожидаемым.

В общем, с предисловием покончили, перейдем к основе ветке - генератору шаблонов.
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
@echo off
  setlocal enabledelayedexpansion
    set "i=0"
    for %%i in (%*) do set /a "i+=1"
    if !i! neq 1 goto:man
    
    set "map=CMD;CS;JS;HTA;LUA;PHP;PL;PS1;PY;RB;SH;TCL;VBS;WSF"
    call:toUpper %1
    for %%i in (!map!) do if /i "!$!" equ "%%i" set "#=%%i"
    if /i "!#!" equ "" goto:man
    
    set "i=0"
    for /f "tokens=1 delims=:" %%i in (
      'findstr /bn ":!#! :eof_!#!" "%~f0"'
    ) do set "arr.!i!=%%i"&set /a "i+=1"
    set /a "arr.0=arr.0+1", "arr.1=arr.1-1"
    
    3<"%~f0" (
      for /l %%i in (1, 1, !arr.1!) do (
        set /p s=<&3
        if %%i geq !arr.0! echo:!s!
        set "s="
      )
    )>source.cmd
  endlocal
exit /b
 
:toUpper
  for /f "tokens=2 delims=." %%i in (
    '2^>^&1 find /v "" .%1'
  ) do set "$=%%i"
exit /b
 
:man
  for %%i in (
    "Usage: %~n0 [extension]"
    "Where 'extension' is one of the follow:"
    "   cmd - pure cmd template"
    "   cs  - CMD\CSharp template"
    "   js  - CMD\JavaScript (MS JScript or NodeJS)"
    "   hta - CMD\HTA template"
    "   lua - CMD\Lua template"
    "   php - CMD\PHP template"
    "   pl  - CMD\Perl template"
    "   ps1 - CMD\PowerShell template"
    "   py  - CMD\Python template"
    "   rb  - CMD\Ruby template"
    "   sh  - CMD\Bash template"
    "   tcl - CMD\Tcl template"
    "   vbs - CMD\VBscript template"
    "   wsf - CMD\WSF template"
  ) do echo:%%~i
exit /b
 
:CMD
@echo off
  setlocal enabledelayedexpansion
  endlocal
exit /b
:eof_CMD
 
:CS
/* 2>nul
@echo off
  setlocal
    set "key=HKLM\SOFTWARE\Microsoft\.NETFramework"
    for /f "tokens=3" %%i in (
      '2^>nul reg query %key% /v InstallRoot'
    ) do set "root=%%i"
    if /i "%root%" equ "" echo:Could not find .NET root.
    
    for /f "delims=" %%i in (
      'dir /ad /b "%root%" ^| findstr /irc:"v[0-9.].*"'
    ) do (
      set "csc=%root%%%i\csc.exe"
      if exist "%csc%" set "csc=%csc%"
    )
    set "arg=/nologo /t:exe /out:app.exe /optimize+"
    set "arg=%arg% /debug:pdbonly "%~f0""
    %csc% %arg%
    app.exe
  endlocal
exit /b
*/
 
using System;
 
internal sealed class Program {
  static void Clear() {
    Console.CursorTop = Console.CursorTop - 1;
    Console.Write(new String(' ', Console.BufferWidth));
    Console.CursorTop = Console.CursorTop - 2;
  }
  
  static void Main() {
    Clear();
    /* place your code here */
  }
}
:eof_CS
 
:JS
0</* :
@echo off
  setlocal
    rem 2>nul node "%~f0" %*
    cscript /nologo /e:jscript "%~f0" %*
  endlocal
exit /b */0;
// place your code here
:eof_JS
 
:HTA
<!-- :
  @start mshta "%~f0"&exit /b
-->
<html>
  <head>
    <title></title>
    <meta name="author" content="" />
    <hta:application id=""
         applicationname=""
         border="thin"
         contextmenu="no"
         maximizebutton="no"
         minimizebutton="no"
         scroll="no"
         singleinstance="yes"
         sysmenu="yes"
         version="1.0" />
  </head>
  <body>
  </body>
</html>
:eof_HTA
 
:LUA
:: --[[
@echo off
  setlocal
    2>nul lua "%~f0" %*
  endlocal
exit /b
--]]
_____ ::
-- place your code here
:eof_LUA
 
:PHP
:<?php /*
@echo off
  setlocal
    2>nul php "%~f0" %*
  endlocal
exit /b
*/
echo "\r";
 
/* place your code here */
?>
:eof_PHP
 
:PL
@echo off
  setlocal
    2>nul perl -x "%~f0" %*
  endlocal
exit /b
#!perl
# place your code here
:eof_PL
 
:PS1
<# :
  @echo off
    setlocal
      powershell /noprofile /executionpolicy bypass^
      "&{[ScriptBlock]::Create((Get-Content '%~f0') -join [Char]10).Invoke(@(&{$args}%*))}"
    endlocal
  exit /b
#>
# place your code here
:eof_PS1
 
:PY
1>2# : ^
'''
@echo off
  setlocal
    2>nul python "%~f0" %*
  endlocal
exit /b
'''
# place your code here
:eof_PY
 
:RB
@echo off
  setlocal
    2>nul ruby -x "%~f0" %*
  endlocal
exit /b
#!ruby
# place your code here
:eof_RB
 
:SH
:<<EOF
@echo off
  setlocal
    2>nul bash "%~f0" %*
  ebdlocal
exit /b
EOF
# place your code here
:eof_SH
 
:TCL
::set comment {
  @echo off
    setlocal
      2>nul tclsh86t "%~f0" %*
    endlocal
  exit /b
}
# place your code here
:eof_TCL
 
:VBS
::'@cscript /nologo /e:vbscript "%~f0" %*&exit /b
' place your code here
:eof_VBS
 
:WSF
<?xml : version="1.0" encoding="utf-8"?> ^<!-- :
  @cscript /nologo "%~f0?.wsf" //job:JS //job:VBS&exit /b
-->
<package>
  <job id="JS">
    <script language="JScript"><![CDATA[
    ]]></script>
  </job>
  <job id="VBS">
    <script language="VBScript"><![CDATA[
    ]]></script>
  </job>
</package>
:eof_WSF
С момента последнего поста в сценарии произошло достаточно много изменений, например, было ускорено время создания шаблонов как таковых, во-вторых, была добавлена поддержка bash, lua, tcl и C#. Гибрид с bash тестировался в Cygwin, lua и tcl были собраны из исходников, а вот относительно C# не все так просто. Вообще, его поддержка была включена по большей части до кучи, так как в вывод временно попадает "/* 2>nul", которое, впрочем, после затирается. Если показать это на примере:
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
C:\sandbox> hybrid.cmd cs
C:\sandbox> vim source.cmd
 
/* 2>nul
@echo off
  setlocal
    set "key=HKLM\SOFTWARE\Microsoft\.NETFramework"
    for /f "tokens=3" %%i in (
      '2^>nul reg query %key% /v InstallRoot'
    ) do set "root=%%i"
    if /i "%root%" equ "" echo:Could not find .NET root.
    
    for /f "delims=" %%i in (
      'dir /ad /b "%root%" ^| findstr /irc:"v[0-9.].*"'
    ) do (
      set "csc=%root%%%i\csc.exe"
      if exist "%csc%" set "csc=%csc%"
    )
    set "arg=/nologo /t:exe /out:app.exe /optimize+"
    set "arg=%arg% /debug:pdbonly "%~f0""
    %csc% %arg%
    app.exe
  endlocal
exit /b
*/
 
using System;
using System.IO;
 
internal sealed class Program {
  static void Clear() {
    Console.CursorTop = Console.CursorTop - 1;
    Console.Write(new String(' ', Console.BufferWidth));
    Console.CursorTop = Console.CursorTop - 2;
  }
  
  static void Main() {
    Clear();
    
    String[] files = Directory.GetFiles(@"C:\sandbox");
    foreach (String file in files) Console.WriteLine(file);
  }
}
Сохраем, и далее:
Windows Batch file
1
C:\sandbox> source.cmd
Как видим, "мусор" мелькает, но все же в итоговом выводе его нет.

Правила ветки
1. Предлагать улучшения по генератору или гибриды с другими языками (с учетом FAQа выше).
2. Рассматриваются исключительно вопросы гибридизации (опять-таки относительно FAQа).

Вернуться к обсуждению:
Командные сценарии-гибриды CMD/BAT
3
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.09.2016, 16:54
Готовые ответы и решения:

Как из программы выполнять командные сценарии cmd.exe Windows (не через batch-файлы)?
В общем, вопрос в шапке. Есть способ обращаться к заранее приготовленным batch-файлам из проги на...

Гибриды SSD
насколько эфективны в работе гибридные SSD ,к примеру как этот?...

MDI - гибриды. Фреймы, вкладки. Рассказываем о своих идеях, примерах и прочих способах реализации
Давайте поговорим о гибридах. Вот три варианта: Фреймовый интерфейс Окно программы делится...

Командные файлы
1. Используя grep, вывести на экран из файла q2.txt все строки, где в адресе присутствует улица...

29
20.09.2016, 16:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.09.2016, 16:54
Помогаю со студенческими работами здесь

Командные файлы
Здравствуйте товарищи программисты! У меня вопрос: Командные файлы, это файлы типа .bat? Как его...

Командные языки
Назовите командные языки всех систем! Я знаю только Windows! :rtfm::help::yahoo:

Командные файлы в DOS
Создайте командный файл К9.ВАТ, использующий несколько параметров, который выполняет переход в...

Командные файлы линукса
Здравствуйте, никогда не делал ничего подобного. Сказали мол нужен эмулятор и дистрибутив, чтобы...

Командные файлы DOS
помогите сделать 1. Создайте командный файл для калькулятора и клавиатуры (вывести калькулятор и...

командные строки N пары чисел
Составить программу, которая получает из командной строки N пар чисел (первым должна идти...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru