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

Как написать cmd создающий другой cmd

22.06.2018, 14:03. Показов 2974. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Смысл в том, чтобы создать CMD с настройками текущего ПК: имя компьютера и имя пользователя, чтобы потом применить эти же настройки на другом. Мне нужно в том же каталоге создать такой CMD файл:
Windows Batch file
1
2
3
4
wmic computersystem where name="%computername%" call rename name="WS05"
netdom join %computername% /domain:00.pr.ru /userd:a05-08\administrator /passwordd:123
net localgroup Администраторы /add 00.pr.ru\05Bart
shutdown -r -t 0
с помощью другого файла. При запуске создающего CMD он должен взять имя компьютера, на котором он запущен, я думаю через %computername% и вставить его вместо WS05. А также нужно взять имя текущего пользователя, видимо через %username% и вставить его вместо 05Bart.

написал такой код
Windows Batch file
1
2
3
4
5
6
@echo off
(
echo. wmic computersystem where name="%computername%" call rename name="%%computername%%")
echo. netdom join %computername% /domain:00.pr.ru /userd:a05-08\administrator /passwordd:123
echo. net localgroup Администраторы /add 00.pr.ru\%%username%%
echo. shutdown -r -t 0)>%cd%\indom.txt
но он выводит только последнюю строчку. Как правильно написать?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.06.2018, 14:03
Ответы с готовыми решениями:

Запуск cmd файла с определенного места в его коде из другого cmd файла
Здравствуйте. Требуется команда для запуска батника с метки внутри него, а не с первой команды в нем. Как выразиться яснее не придумал.

Batch (CMD/BAT) несколько заданий на CMD/BAT
1.Напишите bat файл на диске с ,который будет искать на всех дисках файлы с расширением exe,скопирует на диск с папку EXE в сортированном ...

Возможно написать bat\cmd для команды ping ?
Помогите ли написать BAT\CMD c командной ping -a для диапазона ip адресов от 10.77.13.1 до 10.77.13.255 с выводом результата в файл. Ip...

6
6985 / 2875 / 1106
Регистрация: 06.06.2017
Сообщений: 9,765
22.06.2018, 15:25
Лучший ответ Сообщение было отмечено petademon как решение

Решение

Каждая строка в отдельности должна выводиться командой echo:
Windows Batch file
1
2
3
4
5
@echo off
echo wmic computersystem where name="%%computername%%" call rename name="%computername%">indom.cmd
echo netdom join %%computername%% /domain:00.pr.ru /userd:a05-08\administrator /password:123>>indom.cmd
echo net localgroup Администраторы /add 00.pr.ru\%username%>>indom.cmd
echo shutdown -r -t 0>>indom.cmd
1
3 / 3 / 0
Регистрация: 19.04.2013
Сообщений: 64
22.06.2018, 15:33  [ТС]
Цитата Сообщение от FlasherX Посмотреть сообщение
Каждая строка в отдельности должна выводиться командой echo:
спасибо
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
22.06.2018, 16:17
без echo, пишем или копируем сразу тот код который и будем наблюдать.
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
@echo off
set "dest=file.bat"
<"%~f0">"%dest%" (for /f "delims=[]" %%a in ('find /n "::kod bat"^|more +1') do @more +%%a)
exit
 
::kod bat
@echo off
wmic computersystem where name="%computername%" call rename name="WS05"
netdom join %computername% /domain:00.pr.ru /userd:a05-08\administrator /passwordd:123
net localgroup Администраторы /add 00.pr.ru\05Bart
shutdown -r -t 0
exit
0
3 / 3 / 0
Регистрация: 19.04.2013
Сообщений: 64
22.06.2018, 17:46  [ТС]
Цитата Сообщение от alpap Посмотреть сообщение
без echo, пишем или копируем сразу тот код который и будем наблюдать.
у вас неправильный код. ваш код оставляет имя пользователя и компьютера константами, а мне надо получить имя пользователя и компьютера в момент запуска скрипта. код FlasherX работает верно.
0
Любознательный
 Аватар для YuS_2
7406 / 2256 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
22.06.2018, 19:21
Цитата Сообщение от petademon Посмотреть сообщение
При запуске создающего CMD он должен взять имя компьютера, на котором он запущен, я думаю через %computername% и вставить его вместо WS05. А также нужно взять имя текущего пользователя, видимо через %username% и вставить его вместо 05Bart.
Ход мыслей правильный, а вот реализация с ошибками...
1. Там где требуется в выходном файле наличие именно переменной %computername%, то знаки процентов необходимо удвоить, а там где требуется именно значение переменной, то оставляем с обрамлением одиночными символами процентов.
2.
Цитата Сообщение от petademon Посмотреть сообщение
но он выводит только последнюю строчку. Как правильно написать?
Чтобы всё получилось, необходимо строго соблюдать соответствие открывающих скобок закрывающим. У вас их три (одна открывающая и две закрывающие), т.е. в строке №3 скобка лишняя. Кроме того, если потребуются в выходном файле скобки, их необходимо экранировать знаком ^.
Ну, а в целом, Ваш код рабочий, его вполне можно использовать.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
23.06.2018, 16:20
petademon,
мой код создает полноценный bat
допишите после 3й строки строку: call "%dest%"
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
@echo off
set "dest=file.bat"
<"%~f0">"%dest%" (for /f "delims=[]" %%a in ('find /n "::kod bat"^|more +1') do @more +%%a)
call "%dest%"
pause& exit
 
::kod bat
@echo off
wmic computersystem where name="%computername%" call rename name="WS05"
netdom join %computername% /domain:00.pr.ru /userd:a05-08\administrator /passwordd:123
net localgroup Администраторы /add 00.pr.ru\05Bart
shutdown -r -t 0
exit /b
запустите и убедитесь что переменные в новосозданном коде раскроются как им и подобает.

Добавлено через 1 час 10 минут
а, понял, вам надо чтобы переменные заранее были определены (заданы) для удобства, а в коде уже значения, тогда так:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
@echo off
set "f_out=file.bat"
set "CN=%ComputerName%"
<"%~f0">"%f_out%" (for /f "delims=[]" %%a in ('find /n "::kod bat"^|more +1') do @for /f "delims=" %%b in ('more +%%a^|find /n /v ""') do @call set "x=%%b"& cmd/v/c echo[!x:*]^^=!)
exit
 
::kod bat
@echo off
wmic computersystem where name="%CN%" call rename name="WS05"
netdom join %CN% /domain:00.pr.ru /userd:a05-08\administrator /passwordd:123
net localgroup Администраторы /add 00.pr.ru\05Bart
shutdown -r -t 0
exit
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.06.2018, 16:20
Помогаю со студенческими работами здесь

Подскажите книгу или другой источник, где можно найти достойную информацию о командах cmd.exe
Здраствуйте,подскажите пожалуйста книгу,или где можно найти достойную информацию,о командах оболочки ОС (cmd.exe).Заранее благодарен.

Отличие CMD в Windows 7 от CMD в Windows XP
Вообщем из за чего данная моя помощь отрабатывает в XP, но не работает в вин 7 ? https://www.cyberforum.ru/networks/thread542758.html

Как писать разными цветами в cmd
Я имею в виду типа этого: Привет, Пока А не вот это: Привет, Пока В командной строке!!!

Как установить программу через cmd?
Как установить программу через cmd?:wall: пробовал вот так (у меня не работает) start setup-camstaziav7.0.2.0.1_lichensia_crack.exe...

Как экранировать знак умножения в CMD?
Здравствуйте, форумчане! Имеется бинарник (app.exe) программы, написанной на C. Допустим, что я хочу перемножить два числа в обратной...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru