С Новым годом! Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/18: Рейтинг темы: голосов - 18, средняя оценка - 4.83
10 / 10 / 5
Регистрация: 12.01.2017
Сообщений: 387

Как отредактировать RDP файлы посредством BAT

10.08.2018, 10:57. Показов 3713. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно отредактировать RDP файлы, сменить в нём один айпи на другой. Есть такой батник

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@echo off
SetLocal EnableExtensions EnableDelayedExpansion
 
Set infile=O:\RDP\1.txt
Set outFile=O:\RDP\2.txt
Set find=192.168.1.2
Set replace=192.168.65.1
 
for /L %%i in (1,1,50) do (
@echo %%i
for /F "UseBackQ delims=" %%n in ("%infile%") do ( 
  set "LINE=%%n"
  echo=!LINE:%find%=%replace%!>>"%outFile%"
)
)
Если открываю RDP файл блокнотом и сохраняю его в текстовом файле 1.txt с родной кодировкой в Юникоде, то батник не работает. Если сохраняю полученный 1.txt в ANSI, то скрипт нормально работает. Далее уже отредактированный файл нужно снова перевести в Юникод и восстановить RDP, уже отредактированный. Что для этого ещё нужно внести в скрипт?
Подходят любые другие варианты редактирования.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.08.2018, 10:57
Ответы с готовыми решениями:

Как сделать bat-ник с фильтром который будет проверять абсолютно все на пк, но файлы с окончанием .bat и .vbs
Как сделать bat-ник с фильтром который будет проверять абсолютно все на пк, но файлы с окончанием .bat и .vbs будет переносить в папку...

Как посредством CMD сравнить все файлы в заданной директории и удалить файлы с одинаковым содержимым?
В папке "папка" находятся текстовые файлы 1.txt 2.txt 3.txt 4.txt, некоторые из этих файлов имеют абсолютно одинаковое содержимое. Как...

Как запускать и останавливать уже настроенный rdp-сервер из bat-файла?
здравствуйте. подскажите пожалуйста, как запускать и останавливать уже настроенный rdp-сервер из bat-файла?

7
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
10.08.2018, 11:42
Кодировка
0
10 / 10 / 5
Регистрация: 12.01.2017
Сообщений: 387
10.08.2018, 14:41  [ТС]
Ссылка, безусловно, полезная. Но завела она меня в ещё бОльшие дебри. Попробую сформулировать вопрос проще.
Как можно редактировать файлы в кодировке Юникод без конвертирования кодировок друг в друга? Вышеуказанный мной батник в Юникоде этого делать не умеет.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
10.08.2018, 21:16
sundraw,
старайтесь привести все (совершенно все) к одному виду. Лично я работаю в кодировке 866. Это удобно по тем причинам что в консоли я всегда наблюдаю нормальную кириллицу. Для этого блокнот у меня заменен на AkelPad, в нем выставлено по умолчанию создавать и открывать файлы в кодировке 866 и все коды в bat я тоже сразу создаю и сохраняю в кодировке 866, поэтому любые имена или пути с кириллицей хоть в переменных хоть в файлах (файлы в 866-й как писал выше) хоть в коде и чтаются правильно и выводятся и т.д и т.п
0
10 / 10 / 5
Регистрация: 12.01.2017
Сообщений: 387
10.08.2018, 21:38  [ТС]
alpap,
На руборде решение уже подсказали, вот только загнать всё в цикл не получается.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
10.08.2018, 23:04
sundraw,
правилами запрещено давать ссылки на другие форумы, выкладывайте решение здесь, будем посмотреть что можно сделать, пока непонятно куда вы цикл хотите прилепить.
0
10 / 10 / 5
Регистрация: 12.01.2017
Сообщений: 387
11.08.2018, 06:24  [ТС]
alpap,
Решение предложил RetroRocket:
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
@echo off  
SetLocal EnableExtensions EnableDelayedExpansion  
 
::исходные данные
Set infile=test file 1.rdp
Set outFile=test file 2.rdp 
Set find=192.168.1.2
Set replace=192.168.56.1
 
::из исходного RDP-файла в UTF-кодировке формируем временный файл в ANSI-кодировке  
type "%infile%" > "%infile%.tmprdp"
 
::поиск и замена
for /F "UseBackQ delims=" %%n in ("%infile%.tmprdp") do (
set "LINE=%%n"
echo=!LINE:%find%=%replace%!>>"%outFile%.tmprdp"
)
 
::проверка результата поиска и замены
fc /b "%infile%.tmprdp" "%outFile%.tmprdp" >nul
if %errorlevel% equ 0 echo No matches found && goto end
 
::формируем два байта BOM в итоговом RDP-файле
CHCP 1251>nul
<nul set /p strBOM=яю>"%outFile%"
 
::копируем содержимое из временного файла в ANSI-кодировке в итоговый RDP-файл в UTF-кодировке
cmd /u /c type "%outFile%.tmprdp" >>"%outFile%"
 
:end
::удаляем временные файлы
del *.tmprdp /q
Скрипт работает без всяких перекодировок, сразу выдавая готовый отредактированный RDP файл. Но мне нужно сделать цикл для редактирования не одного файла, а 50-ти и более по типу
Windows Batch file
1
2
for /L %%i in (1,1,50) do (
)
У меня не получилось.
0
10 / 10 / 5
Регистрация: 12.01.2017
Сообщений: 387
16.08.2018, 18:33  [ТС]
Всё-таки методом научного тыка и удаления лишних деталей решение нашёл:
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
@echo off  
SetLocal EnableExtensions EnableDelayedExpansion  
 
::исходные данные
Set infile=O:\RDP\%%i.rdp
Set outFile=O:\RDP\RDP1\%%i.rdp
Set find=192.168.1.2
Set replace=192.168.56.1
 
for /L %%i in (1,1,50) do (
@echo %%i
 
::из исходного RDP-файла в UTF-кодировке формируем временный файл в ANSI-кодировке  
type "%infile%" > "%infile%.tmprdp"
 
::поиск и замена
for /F "UseBackQ delims=" %%n in ("%infile%.tmprdp") do (
set "LINE=%%n"
echo=!LINE:%find%=%replace%!>>"%outFile%.tmprdp"
)
 
::копируем содержимое из временного файла в ANSI-кодировке в итоговый RDP-файл в UTF-кодировке
cmd /u /c type "%outFile%.tmprdp" >>"%outFile%"
 
::удаляем временные файлы
del O:\RDP\*.tmprdp /q 
del O:\RDP\RDP1\*.tmprdp /q 
 
)
Удалив проверку, цикл по редактированию файлов RDP в юникоде работает. Задачу можно считать решённой.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.08.2018, 18:33
Помогаю со студенческими работами здесь

Как добавить нового пользователя с правами админа посредством bat
Как посредством bat (возможно другого вспомогательного к примеру powershell в том же bat) создать нового пользователя в Windows 10 ...

Как скопировать файл в системный каталог посредством cmd/bat
Доброго всем времени суток. Наберитесь минутку терпения. Хочу передать всю интригу... Как же тут без нее. Я бился над &quot;этим...

Как отредактировать и откомпилировать .jar файлы?
Доброго времени суток. Есть вопрос. У меня есть парочка игрушек на мобильник, тобишь по 2 файла на каждую игрушку: .jar, .jad. Всё,...

Как в Битрикс отредактировать файлы header и footer?
Как в битрикс отредактировать файлы header и footer ?

Как отредактировать файлы хранящиеся в базе данных на примере?
Всем доброго вечера. Есть база данных, которая состоит из таблицы tableForBase и двух колонок id и valueActive. В базе уже создано 18...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru