#windows #batch-file #cmd
#Windows #пакетный файл #cmd
Вопрос:
Я работаю над огромным пакетным файлом, и мне нужно, чтобы, когда пользователь напишет Привет, например,:
set input =
set /p input=Type hello here:
Мне нужно сделать это из него..
и сохраните его в формате txt
%character_input% >hash.txt
Не могли бы вы мне помочь, пожалуйста? Спасибо..
Комментарии:
1. Итак … почему вы должны создавать отдельные символы из того, что они ввели? Почему бы просто не записать то, что они ввели, непосредственно в файл? Похоже, вы не просите того, чего действительно хотите.
2. @SpikeX — нет, мне нужно создавать символы из этого .. мой план таков .. замените каждый символ другим символом.. Я не знаю, есть ли какой-либо другой вариант, как это сделать…
Ответ №1:
Этот пакетный файл выводит каждый символ в отдельной строке, по существу обрабатывая переменную посимвольно. Это должно помочь вам начать. 🙂
@echo off
REM Get the input any way you want. Mine is hard-coded.
set input=Hello world
REM Add a terminator to prevent the loop stopping on a space
set input=%input%x
:loop
REM Extract the first character
set i=%input:~0,1%
REM Remove the first character from the input
set input=%input:~1%
REM Output the single character
echo.%i%
REM If the terminator is all that's left, terminate
if "%input%"=="x" goto done
goto :loop
:done
Комментарии:
1. Забавный вопрос! Я думал
FOR /f
, что для этого будет функция, но, видимо, это не так.