Я пишу сценарий пакетного файла с использованием команды Windows и хочу изменить каждое вхождение некоторого пробела с помощью "," Каков самый простой способ сделать это?Поиск и замена командным файлом
ответ
Если пользователи список слов на одной строке в текстовом файле, разделенных пробелами, например:
one two three four
Создайте пакетный файл SpaceToComma.bat следующим образом:
@echo off
setlocal
for /F "tokens=* delims= " %%a in (%1) do @set data=%%a
echo %data: =,%
endlocal
Затем запустите его, вы получите тыс e слова, разделенные запятыми. Это то, что вы хотите?
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
(Возможно, это умный способ сделать это без подпрограммы, используя данные! синтаксис для замедленного расширения переменных, но я не мог заставить его работать с синтаксисом подстановки.)
Если это не то, что вы хотите, пожалуйста, объясните, и я могу попытаться помочь.
(PS: Я радуюсь с помощью пакетных файлов, где люди утверждают, что это не может быть сделано.)
Ну, это будет зависеть от того, как вы получаете данные, но вы можете окупить что-то конструкцией For-Do. Сделать полевой разделитель пространством, затем построить строку обратно в do с помощью a, между каждым токеном. Могу ли я предложить более надежный язык сценариев? У вас должен быть VBScript практически на любом относительно современном стекле.
Вы можете скачать sed.exe из http://unxutils.sourceforge.net/ и запустить эту команду:
sed -e "s/ /,/" infile.txt >outfile.txt
- 1. Замена символов в текстовом файле командным файлом
- 2. Поиск и замена текста в txt-файле командным файлом в Windows
- 3. Использование GDB с командным файлом и аргументами
- 4. найти слово и заменить строку командным файлом
- 5. Автоматизация окон с командным файлом
- 6. Приостановить ех с командным файлом
- 7. Если проблема с командным файлом
- 8. Запуск ярлыка с командным файлом
- 9. Telnet-сессия с командным файлом
- 10. Добавить текст с командным файлом
- 11. Редактирование файла с командным файлом
- 12. Поиск текста с командным файлом с помощью Notepad ++
- 13. кварца весной 3 с командным файлом
- 14. Перезапустить приложение терминала с командным файлом
- 15. Редактирование CSV-файла с командным файлом
- 16. Выключить машину после простоя с командным файлом?
- 17. Динамическая декларация SQL, выполняемая командным файлом
- 18. Альтернативные имена файлов с командным файлом
- 19. Временно установить переменные среды с командным файлом
- 20. Запустите проект рельсов с командным файлом
- 21. инкремент номера версии файла с командным файлом
- 22. Можно ли отменить действие, выполненное командным файлом?
- 23. Запуск сценариев Selenium TestNG с командным файлом
- 24. Итерация через текстовый файл с командным файлом
- 25. Командная строка SQLPLUS с командным файлом Windows
- 26. Открытие файла данных Outlook с командным файлом
- 27. * .HTA с введенным пользователем командным файлом
- 28. Закройте окно браузера Chrome, открытое командным файлом
- 29. % ~ нФ не Работа с командным файлом
- 30. Преобразование TXT в HTML с командным файлом
вы имели в виду `spacetocomma.bat` – 2011-07-15 12:28:40