Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Переименование файлов (http://forum.oszone.net/showthread.php?t=275349)

asxx 07-01-2014 19:42 2284359

Переименование файлов
 
Доброго времени суток, уважаемые участники форума!

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

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

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


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

Iska 08-01-2014 03:01 2284582

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 2284685

Спасибо огромное, все четко!


Время: 08:42.

Время: 08:42.
© OSzone.net 2001-