Соединить файлы в подпапках..
Здравствуйте, гуру Батников и просто уважаемые форумчане!
Помогите в создании бат файла. Допустим в папке есть много подпапок, в которых по два-три файла (пусть расширение будет тхт)
Нужно из этих двух-трех файлов сделать один с таким же разрешением (тхт), т.е. соединить (пусть будет два) два файла в один. Название будущего файла значения не имеет.
нашел команду 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 Файл является двоичным файлом.
|
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.
© OSzone.net 2001-