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

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

cdp75 25-04-2012 10:45 1905541

Как из имени файла убрать 11 символов
 
Уважаемые Гуру!

Во входящей папке лежат файлы типа ААА_123456_ГГГГММДД.htm, их нужно привести их к виду ААГГММДД.htm Пробую такой батник :

setlocal enabledelayedexpansion
for %%F in (*.htm) do @set file=%%~nxF && ren %%~nxF !file:~0,2!!file:~-6%%~nxF

в ответ получаю - файл с таким именем уже существует или не найден. Ткните носом, в чем косяк? Операционка - XP SP 3

Anonymоus 25-04-2012 13:07 1905628

Код:

@Echo Off
SetLocal EnableDelayedExpansion
For /F "delims=" %%F In ('Dir "files\*.htm" /A-D /B') Do (
        For /F "tokens=1,3 delims=_" %%A In ("%%F") Do (
                Set Prefix=%%A&Set YYYYMMDD=%%B
                Ren "files\%%F" "!Prefix:~,2!!YYYYMMDD:~2!"
        )
)


megaloman 25-04-2012 21:41 1905871

Код:

@echo off
SetLocal EnableDelayedExpansion
for %%F in (*.htm) do Set file=%%~nxF && ren !file! !file:~0,2!!file:~-11!

У меня работает. Может быть, после того, как Вы упростите имя, и в самом деле могут встретиться повторяющиеся имена? Что тогда?

cdp75 26-04-2012 06:07 1905985

СПАСИБО за код! Все работает! Тему закрываю.


Время: 03:11.

Время: 03:11.
© OSzone.net 2001-