Если ваши пользователи представляют собой список слов в одной строке в текстовом файле, разделенных пробелами, например:
one two three four
Создайте командный файл SpaceToComma.bat следующим образом:
@echo off
setlocal
for /F "tokens=* delims= " %%a in (%1) do @set data=%%a
echo %data: =,%
endlocal
Затем запустите его, вы получите слова, разделенные запятыми. Это то, что вы хотите?
C:\>SpaceToComma.bat data.txt
one,two,three,four
Если у вас есть многострочный файл, это будет сделано:
data.txt
one two three four
five six seven
SpaceToComma.bat
@echo off
setlocal
for /F "tokens=* delims= " %%a in (%1) do @call :processaline %%a
endlocal
goto :eof
:processaline
setlocal
set data=%*
echo %data: =,%
endlocal
goto:eof
выход
C:\>SpaceToComma.bat data.txt
one,two,three,four
five,six,seven
(Вероятно, есть умный способ сделать это без подпрограммы, используя синтаксис! Data! Для отложенного раскрытия переменных, но я не смог заставить его работать с синтаксисом подстановки.)
Если это не то, что вы хотите, пожалуйста, объясните, и я могу попытаться помочь.
(PS: я рад использовать пакетные файлы, когда люди настаивают, что это невозможно).