Показать полную графическую версию : bat дописывает в конец файла текст
Ребята помогите решить такую задачу
нужно периодически дописывать в конец файлов ibases.v8i расположенные в разных каталогах фрагмент текста
[Информационная база]
Connect=File="C:\Documents and Settings\adm\Мои документы\InfoBase";
ID=2aa31bd2-a83f-4137-a75d-df3c94f53d7a
OrderInList=16640
Folder=/
OrderInTree=16640
External=0
ClientConnectionSpeed=Normal
App=Auto
WA=1
Version=8.2
есть такой пакетник, НО хотелось бы что бы пути к файлам были уже прописаны в отдельном файле, а фрагмент текста еще в одном
@echo off
for /r "D:\Test" %%i in (*.txt) do (
(
for /f %%j in ('
find /c /v ""^<"%%i"
') do (
set m=%%j
)
)|| set m=0
(
for /f "delims=:" %%j in ('
findstr /n $ "%%i"
') do (
set n=%%j
)
)|| set n=0
for /f "tokens=1,2" %%j in ('
call echo %%m%% %%n%%
') do (
if %%k lss %%j (
echo.>>"%%i"
)
)
chcp 1251>nul
for /f "eol= delims=" %%j in ("строка текста") do (
chcp 866>nul
echo %%j>>"%%i"
)
)
exit /b
есть такой пакетник, »
Это не лучший способ.
хотелось бы что бы пути к файлам были уже прописаны в отдельном файле, а фрагмент текста еще в одном »
Покажите, что в Вашем примере есть фрагмент, и что — пути к файлам.
Это не лучший способ. »
[Информационная база]
Connect=File="C:\Documents and Settings\adm\Мои документы\InfoBase";
ID=2aa31bd2-a83f-4137-a75d-df3c94f53d7a
OrderInList=16640
Folder=/
OrderInTree=16640
External=0
ClientConnectionSpeed=Normal
App=Auto
WA=1
Version=8.2
C:\Users\buh#1\AppData\Roaming\1C\1CEStart
C:\Users\buh#2\AppData\Roaming\1C\1CEStart
C:\Users\buh#3\AppData\Roaming\1C\1CEStart
C:\Users\ИвановИ\AppData\Roaming\1C\1CEStart
rosalin, примерно так:
Option Explicit
Const ForAppending = 8
Dim strPathsList
Dim objTS
Dim strPath
Dim strFile
If WScript.Arguments.Count = 1 Then
strPathsList = WScript.Arguments.Item(0)
With WScript.CreateObject("Scripting.FileSystemObject")
If .FileExists(strPathsList) Then
Set objTS = .OpenTextFile(strPathsList)
Do Until objTS.AtEndOfStream
strPath = Trim(objTS.ReadLine())
If .FolderExists(strPath) Then
strFile = .BuildPath(strPath, "ibases.v8i")
With .OpenTextFile(strFile, ForAppending, True)
.WriteLine _
"[Информационная база]" & vbCrLf & _
"Connect=File=""C:\Documents and Settings\adm\Мои документы\InfoBase"";" & vbCrLf & _
"ID=2aa31bd2-a83f-4137-a75d-df3c94f53d7a" & vbCrLf & _
"OrderInList=16640" & vbCrLf & _
"Folder=/" & vbCrLf & _
"OrderInTree=16640" & vbCrLf & _
"External=0" & vbCrLf & _
"ClientConnectionSpeed=Normal" & vbCrLf & _
"App=Auto" & vbCrLf & _
"WA=1" & vbCrLf & _
"Version=8.2"
.Close
End With
Else
WScript.Echo "Can't find source folder [" & strPath & "]."
End If
Loop
objTS.Close
Set objTS = Nothing
Else
WScript.Echo "Can't find Paths list file [" & strPathsList & "]."
WScript.Quit 2
End If
End With
Else
WScript.Echo "Usage: cscript.exe //nologo """ & WScript.ScriptName & """ <Paths list file>"
WScript.Quit 1
End If
WScript.Quit 0
Файл с путями указывается аргументом скрипта (также можете просто перетащить файл с путями на скрипт в Проводнике).
Остался один вопрос: что именно во фрагменте является определяющим для него среди других? Это нужно для того, чтобы при повторном запуске фрагмент не добавлялся во второй раз в текстовый файл «ibases.v8i». Или при первом же запуске — не дублировал существующий, добавленный вручную.
Остался один вопрос: что именно во фрагменте является определяющим для него среди других »
Фрагмент проверять на уникальность не надо, происходит так, создаю базу , она в свою очередь пишит фрагмент текста, а я уже раскидываю его по нужным мне профилям
PS Хотелось бы фрагмент вписывать куда нибудь в том виде котором он есть, а то в скрипт переносы еще надо дописывать, нельзя ли его в отдельный файл писать, а скрипт будет его оттуда брать?
Ну, не надо, так не надо. Пробуйте.
Пробуйте. »
Супер!!!
А как сделать чтобы блок текста
вносить в отдельный файл в таком виде
[Информационная база]
Connect=File="C:\Documents and Settings\adm\Мои документы\InfoBase";
ID=2aa31bd2-a83f-4137-a75d-df3c94f53d7a
OrderInList=16640
Folder=/
OrderInTree=16640
External=0
ClientConnectionSpeed=Normal
App=Auto
WA=1
Version=8.2
каждый раз блок будет новый ((
rosalin, можно. Вопрос в том, как сделать сие удобнее.
Вы каким-либо файловым менеджером (Far Manager, Total Commander и т.п.) пользуетесь для работы или обходитесь одним Проводником?
Вопрос в том, как сделать сие удобнее. »
Пользуюсь проводником (
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.