Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Форматирование файлов (http://forum.oszone.net/showthread.php?t=323383)

Vurdalak120 01-02-2017 17:00 2708059

Форматирование файлов
 
Доброго времени суток! Товарищи, помогите. Такое т.з.: есть test.txt с записанными в каждую строчку значениями (123 234 456 и т.д.). Нужно переписать эти значения в end.txt, в одну строчку (/123 /234 /456 и т.д.).

megaloman 01-02-2017 18:48 2708095

Код:

@Echo off
SetLocal EnableExtensions EnableDelayedExpansion

Set "From=test.txt"
Set "To=end.txt"

Set "Str="
FOR /F "usebackq delims=" %%s IN ("%From%") DO (
        FOR %%i IN (%%s) DO Set "Str=!Str!/%%i "
)
(>"%To%" Echo %Str:~0,-1%)

Если всё-таки в файле-результате должно быть много строк
Код:

@Echo off
SetLocal EnableExtensions EnableDelayedExpansion

Set "From=test.txt"
Set "To=end.txt"

Del "%To%" 2>nul

FOR /F "usebackq delims=" %%s IN ("%From%") DO (
        Set "Str="
        FOR %%i IN (%%s) DO Set "Str=!Str!/%%i "
        (>>"%To%" Echo !Str:~0,-1!)
)


Vurdalak120 02-02-2017 14:27 2708313

Большое спасибо! Всё работает!

Iska 02-02-2017 23:46 2708498

Мой вариант:
Код:

@echo off
setlocal enableextensions enabledelayedexpansion

>"end.txt" (for /f "usebackq delims=" %%i in ("test.txt") do (
                <nul set /p "sVar=/%%~i"
        )
        echo.
)

endlocal
exit /b 0



Время: 02:38.

Время: 02:38.
© OSzone.net 2001-