Показать полную графическую версию : [решено] Запись названия файла в каждую строку
Knopppka
01-03-2013, 13:00
Подскажите, пожалуйста.
Есть папка с файлами - логами АТС. Один файл за один день. Но это, в принципе, не важно.
Необходимо сделать батник, который бы в каждую строку каждого файла записывал его название.
Такое возможно сделать? И если да, не могли бы вы помочь? Очень надо.
Knopppka, пример файла лога до, пример файла лога после записи. Достаточно пары десятков строк.
Knopppka
01-03-2013, 19:50
ats1-2011-03-18=00-00 - файл исходный
1 - файл с результатом, который нужно получить
В итоге я должна буду загнать данные в базу SQL, а только из названия файла можно получить информацию о номере АТС и годе
Knopppka, попробуйте так:
@echo off
setlocal enableextensions enabledelayedexpansion
set sSourceFile=%~1
set sDestFile=Out.txt
set sName=%~n1
if defined sSourceFile (
if exist "%sSourceFile%" (
if exist "%sDestFile%" del /f /q "%sDestFile%"
for /f "usebackq delims=" %%i in ("%sSourceFile%") do >>"%sDestFile%" echo %sName%%%i
) else (
echo Source file [%sSourceFile%] not found
)
) else (
echo Usage: %~nx0 ^<Source file^>
)
endlocal
exit /b 0
Исходный файл задаётся аргументом пакетного файла. Также можете просто перетащить исходный файл на пакетный.
Foreigner
01-03-2013, 21:01
Knopppka, Протестируйте такой вариант. Исходный файл можно "перетащить" на батник или задать параметром из командной строки:
@echo off
for %%i in ("%*") do (
for /f "tokens=*" %%j in (' type %%i') do 1>>"%~dp01.txt" echo %%~ni %%j
)
:: pause
1.txt будет рядом с батником
Knopppka
02-03-2013, 13:33
Iska, спасибо Вам огромное. Все работает так, как я и хотела. Буду теперь разбираться.
Foreigner, ничего не происходит, не пойму почему. Все равно, спасибо за помощь.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.