Компьютерный форум 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=230224)

krbmoney 13-03-2012 15:07 1878336

Соединить файлы в подпапках..
 
Здравствуйте, гуру Батников и просто уважаемые форумчане!

Помогите в создании бат файла. Допустим в папке есть много подпапок, в которых по два-три файла (пусть расширение будет тхт)
Нужно из этих двух-трех файлов сделать один с таким же разрешением (тхт), т.е. соединить (пусть будет два) два файла в один. Название будущего файла значения не имеет.

нашел команду copy/b *.txt newfile.txt
только это для данной папки работает, и что буква /б значит кто-нибудь знает?

спасибо за внимание.

El Sanchez 13-03-2012 16:14 1878382

krbmoney,
Код:

@Echo Off
Set Source=C:\Source
For /R "%Source%" %%A In (*.txt) Do If Not Exist "%%~dpA_merged%%~xA" Copy /Y /B "%%~dpA*%%~xA" "%%~dpA_merged%%~xA"

Цитата:

Цитата krbmoney
и что буква /б значит кто-нибудь знает? »

Код:

copy /?
 /B          Файл является двоичным файлом.


krbmoney 13-03-2012 16:29 1878394

El Sanchez, огромное спасибо!

а можно полученный файл оставить, а остальные удалить? или полученные файлы в какую-нить папку закинуть?

El Sanchez 13-03-2012 18:43 1878470

Цитата:

Цитата krbmoney
а можно полученный файл оставить, а остальные удалить? »

krbmoney,
Код:

@Echo Off
SetLocal
Set Source=C:\Source
For /R "%Source%" %%A In (*.txt) Do (
        If Not Exist "%%~dpA_merged%%~xA" Copy /Y /B "%%~dpA*%%~xA" "%%~dpA_merged%%~xA"
        If /i Not "%%~nxA"=="_merged%%~xA" Del /F /Q "%%A" 2>nul
)

Цитата:

Цитата krbmoney
или полученные файлы в какую-нить папку закинуть? »

Код:

@Echo Off
SetLocal
Set Source=C:\Source
Set Output=C:\Output

PushD %Output%
For /R "%Source%" %%A In (*.txt) Do If /i Not "%%~dpA"=="%CD%\" If Not Exist "%%~dpA_merged%%~xA" Copy /Y /B "%%~dpA*%%~xA" "%%~dpA_merged%%~xA"
PopD
For /F "Tokens=1* Delims=:" %%A In ('Dir /B /S _merged.txt^|FindStr /in .') Do Move /Y "%%B" "%Output%\%%~nB_%%A%%~xB" 2>nul



Время: 22:21.

Время: 22:21.
© OSzone.net 2001-