Войти

Показать полную графическую версию : [решено] Переименование файлов


asxx
07-01-2014, 19:42
Доброго времени суток, уважаемые участники форума!

Прошу помочь мне в следующем вопросе. Необходимо написать 2 бат файла.

1й должен уметь скопировать имя файла из директории (имя файла до расширения). Файлик в директории должен найти по маске. Полученную строку положить куда нибудь на время (в созданный текстовый файл). И далее переименовать данный файл. На практике следующая картина: есть много файлов *.dbf, необходимо найти файл в названии которого есть *555*., скопировать наименование файла без расширения в файл и после переименовать его в 1.dbf.

2й должен, во первых, вернуть первоначальное имя файлу 1.dbf. Коме того, к двум файликам с наименованием "_1.dbf" и "_2.dbf" (они уже будут лежать в этой директории) к их имени (в начало) дописать ту самую текстовую строку (наименование 1го файла без расширения). И в конце удалить файлы, которые были созданы временно.


Буду очень благодарен вам за помощь.

Iska
08-01-2014, 03:01
TRON.cmd:
@echo off
setlocal enableextensions enabledelayedexpansion

set sTRONFile=TRON.ini
set sTempName=1.dbf

if not exist "%sTRONFile%" (
for %%i in ("*555*.dbf") do (
if not defined sFileName set sFileName=%%~ni
)

if defined sFileName (
if not exist "%sTempName%" (
>"%sTRONFile%" echo !sFileName!
ren "!sFileName!.dbf" "%sTempName%"
) else (
echo Temporary file [%sTempName%] already exists.
exit /b 3
)
) else (
echo Not find any file by mask [*555*.dbf].
exit /b 2
)
) else (
echo File [%sTRONFile%] already exists.
exit /b 1
)

endlocal
exit /b 0


TROFF.cmd:
@echo off
setlocal enableextensions enabledelayedexpansion

set sTRONFile=TRON.ini
set sTempName=1.dbf
set sFile_1=_1.dbf
set sFile_2=_2.dbf

if exist "%sTRONFile%" (
<"%sTRONFile%" set /p sFileName=

if defined sFileName (
if exist "%sTempName%" (
ren "%sTempName%" "!sFileName!.dbf"

if exist "%sFile_1%" (
ren "%sFile_1%" "!sFileName!%sFile_1%"
) else (
echo Not found file [%sFile_1%].
)
if exist "%sFile_2%" (
ren "%sFile_2%" "!sFileName!%sFile_2%"
) else (
echo Not found file [%sFile_2%].
)

del /f /q "%sTRONFile%"
) else (
echo Can't find temporary file [%sTempName%].
exit /b 2
)
) else (
echo Can't read previously saved file name from [%sTRONFile%].
exit /b 2
)
) else (
echo File [%sTRONFile%] not found.
exit /b 1
)

endlocal
exit /b 0

asxx
08-01-2014, 11:21
Спасибо огромное, все четко!




© OSzone.net 2001-2012