Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как добавить в текстовый файл строку с именем самого файла

Ответить
Настройки темы
CMD/BAT - [решено] Как добавить в текстовый файл строку с именем самого файла

Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Подскажите пожалуйста, как добавить в текстовый файл строку с именем самого файла.
есть командный файл :
читать дальше »
@echo off

set dir1=Q:
set dir2=C:\SCAN
set dir3=C:\SCAN\BACK
set log_copy=C:\SCAN\BACK\lcopy.log
set log_move=C:\SCAN\BACK\lmove.log

if exist %dir1% (goto 1) else (goto 2)

:1
echo "-=-=-=- start TRANSFER -=-=-=-=-" >> %log_copy%
date /t >> %log_copy%
time /t >> %log_copy%
copy %dir2%\*.txt %dir1% >> %log_copy%
echo "-=-=-=- finish TRANSFER -=-=-=-=-" >> %log_copy%

echo "-=-=-=- start MOVE BACK -=-=-=-=-" >> %log_move%
date /t >> %log_move%
time /t >> %log_move%
move %dir2%\*.txt %dir3% >> %log_move%
echo "-=-=-=- finish MOVE BACK -=-=-=-=-" >> %log_move%

@echo ----------------------
@echo TRANSFER CONPLITE
@echo ----------------------
goto end

:2
@echo ----------------------
@echo ERROR NO DISK Q:
@echo CONNECT DISK Q:
@echo TRANSFER NO CONPLITE
@echo ----------------------
pause
goto end

:end


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

Отправлено: 11:04, 02-07-2014

 

Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
окромя «-Doc1». Так? »
ТСД генерирует файл с данными именем - номер сканера, датой и временем и добавляет - "Doc1" и получается что "-Doc1.txt" - паразитная информация внутри файла.
Да удалять только -Doc1.txt во всех файлах.

Последний раз редактировалось bodun123, 04-07-2014 в 16:22.


Отправлено: 16:47, 03-07-2014 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Пробуйте:
читать дальше »
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sSourceFolder=C:\SCAN
set sDestFolder=Q:\
set sBackupFolder=C:\SCAN\BACK

set sLogFile=%sBackupFolder%\Log.log

call :GetTemporaryName

if not exist "%sSourceFolder%\." (
	echo Can't find source folder [%sSourceFolder%].
	exit /b 1
)

if not exist "%sDestFolder%\." (
	echo Can't find destination folder [%sDestFolder%].
	exit /b 2
)

if not exist "%sBackupFolder%\." (
	echo Can't find folder for backup [%sBackupFolder%].
	exit /b 3
)

>>"sLogFile%" (
	echo Start transfer at %date% %time%
	
	for %%i in ("%sSourceFolder%\*.txt") do (
		set sCurrFileName=%%~ni
		>"%TemporaryName%" echo !sCurrFileName:-doc1=!
		>nul copy /b /y "%TemporaryName%"+"%%~i" "%sDestFolder%\%%~nxi"
		>nul copy /b /y "%TemporaryName%"+"%%~i" "%sBackupFolder%\%%~nxi"
		echo %%~nxi
		del /f /q "%%~i"
	)
	
	echo Finish transfer at %date% %time%
	echo.
)
del /f /q "%TemporaryName%"

endlocal
exit /b 0

rem ==========================================================================
rem Функция GetTemporaryName()
rem
rem Серый форум / CMD/BAT: генерация пути для временного файла или папки
rem (http://forum.script-coding.com/viewtopic.php?id=6259)
rem ==========================================================================
:GetTemporaryName
	setlocal enableextensions enabledelayedexpansion

:NextName
	set sTempName=%temp%\temp%random%.tmp

	if exist "%sTempName%" goto :NextName

	set sProcName=%~0

	endlocal & set %sProcName:~4%=%sTempName%
	exit /b 0
rem ==========================================================================
Многое переделал.
Это сообщение посчитали полезным следующие участники:

Отправлено: 03:52, 09-07-2014 | #12


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska, спасибо Вам большое, все отлично работает.

Отправлено: 10:00, 09-07-2014 | #13



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Как добавить в текстовый файл строку с именем самого файла

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Как получить значение параметра из реестра, добавить значение в текстовый файл etc.? Dark Ange1 Скриптовые языки администрирования Windows 28 22-06-2022 14:37
CMD/BAT - [решено] Как построчно разбить текстовый файл на текстовые файлы содержащие одну строку binwatch@vk Скриптовые языки администрирования Windows 3 09-09-2012 19:59
VBS/WSH/JS - Добавить в первую строку текстового файла его имя и дату SergeyVD Скриптовые языки администрирования Windows 6 06-07-2011 20:06
CMD/BAT - [решено] как из bat файла дописать символ в текстовый файл? idzs Скриптовые языки администрирования Windows 6 22-02-2011 03:49
добавить запись в текстовый файл не открывая его. GooDok AutoIt 3 19-10-2010 16:42




 
Переход