Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Необходимо удалить повторяющеися символы в двух вводимых словах

Ответить
Настройки темы
CMD/BAT - [решено] Необходимо удалить повторяющеися символы в двух вводимых словах

Новый участник


Сообщения: 3
Благодарности: 0

Профиль | Отправить PM | Цитировать


Хочу сделать такое: скрипт просит вас ввести слово.
Затем он просит ввести другое слово и после этого ищет повторяющеися буквы в словах и, если пара была найдена, то он удаляет эти буквы в обоих словах. И так до тех пор, пока второе слово полностью не исчезнет.
Мне это нужно для написания дешифратора, путем которого делается что то вроде этого: есть слово пнкаоуонкраркнлаимаь мы вводим его а затем вводим ключ, который представляет собой нкуонкракнаимаь,
после этого он удаляет повторяющиеся символы (а это не обязательно буквы, цифры тоже) и на выходе выдает первое слово уже без "размешивания" в фразе: пароль.

Отправлено: 13:27, 21-03-2016

 

Ветеран


Сообщения: 1754
Благодарности: 965

Профиль | Цитировать


Что значит "повторяющиеся символы"? Если из "слова" удалять символы, которые есть в "ключе", то на выходе получим "пл", а не "пароль"
Код: Выделить весь код
@echo off
setlocal enabledelayedexpansion

set "word=пнкаоуонкраркнлаимаь"
set "key=нкуонкракнаимаь"
set "n=0"

:0

set "l=!key:~%n%,1!"
set "word=!word:%l%=!"
set /a n+=1
if "!key:~%n%,1!"=="" goto:break
goto:0

:break
echo %word%

Отправлено: 14:03, 21-03-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 1754
Благодарности: 965

Профиль | Цитировать


Как-то так, если правильно понял в ПМ:
Код: Выделить весь код
@echo off
setlocal enabledelayedexpansion

set "word=пнакрвоулеь"
set "keyw=нквеу"

set "cnt1=99"
set "n=0"

:0
if not "!word:~%n%,1!"=="" (

    set /a cnt1+=1
    set "word_!cnt1!=!word:~%n%,1!"
    set /a n+=1
    goto:0

)

set "cnt2=99"
set "n=0"

:1
if not "!keyw:~%n%,1!"=="" (

    set /a cnt2+=1
    set "keyw_!cnt2!=!keyw:~%n%,1!"
    set /a n+=1
    goto:1

)

:2
for /l %%i in (100,1,%cnt2%) do (

    for /l %%j in (100,1,%cnt1%) do (

        if defined keyw_%%i (

            if "!keyw_%%i!"=="!word_%%j!" (

                set "keyw_%%i="
                set "word_%%j="
                goto:2
            
))))

for /f "tokens=2 delims==" %%i in ('set word_') do 0>nul set /p="%%i"
echo.
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:30, 22-03-2016 | #3



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Необходимо удалить повторяющеися символы в двух вводимых словах

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
удалить все небуквенно-числовые символы оставив смайлики laraaa Вебмастеру 0 13-08-2015 16:01
CMD/BAT - [решено] Удалить из файла "Test.txt" все символы звездочка * ufooo Скриптовые языки администрирования Windows 10 17-05-2015 14:29
ASUS k50c Необходимо удалить ОСи и поставить новую IIPOBOJIoOKa Ноутбуки 4 01-10-2013 14:31
2003/XP/2000 - При печати из Microsoft Excel 2003 последние символы в словах не печатаются jastreb83 Microsoft Office (Word, Excel, Outlook и т.д.) 7 09-10-2011 22:49
[решено] Удалить все символы Enter (переход на след строку) из текста sashadeg AutoIt 9 07-02-2010 05:29




 
Переход