Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Contributor


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

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


habib2302,
Цитата Жванецкий (?):
Одно неверное движение, и ты отец ...
ИМХО, указывать имена файлов *.* опрометчиво. При повторном возможно случайном запуске батника тупо повторно отрежутся символы. Подозреваю, можно указать маску, чтобы повторно файлы не обрабатывались.
Цитата mwz:
Да, и у вас заодно от имени батника отрежутся символы. »
ИМХО, скверная политика запускать батник из той же папки, где обрабатываемые файлы. Поэтому, для обрабатываемых файлов лучше указывать полный путь с маской, и, (но это не нужно, если не располагать батник вместе с файлами) можно приделать батнику атрибут "скрытый".
До кучи (число отрезаемых символов тоже задаётся, а то завтра кто-то захочет отрезать 2 или 5 символов)
Код: Выделить весь код
@Echo Off
	Set "FileIn=Z:\Box_In\я*.txt"
	Set /A N=4

	Attrib +H "%~dpnx0"
	FOR %%i IN ("%FileIn%") DO (Set "NN=%%~ni" &Call Ren "%%i" "%%NN:~%N%%%%%~xi")
Exit /B 0
Или, как вариант, перед обрезанием контролировать длину, чтобы не отрезать повторно: возможно, обрабатываемые файлы имеют некое стандартное по длине имя. Или всё-таки на каждое переименование организовать запрос. Но это слегка другая песТня, излагайте!

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 08-04-2019 в 16:06.

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:37, 08-04-2019 | #9