Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / bat cmd Переименование с копированием / 6 сообщений из 6, страница 1 из 1
03.03.2011, 04:39
    #37145687
DAddill
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bat cmd Переименование с копированием
имеются файлы в одном каталоге: 123Alies_fe.rel , 1f3Alies1fr.rel , nodAliesftr.rel. Нужно найти их по маске "Alies", привести их к виду: Alies_fe.rel , Alies1fr.rel , Aliesftr.rel и скопировать в указанный каталог. В общем с помощь for я нахожу их, но не могу понять как можно стереть все символы в названии до "Alies", и после оставить все символы....Уже 3-й день не могу сделать....
...
Рейтинг: 0 / 0
03.03.2011, 09:17
    #37145820
belugin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bat cmd Переименование с копированием
если задача одноразовая, то можно поставить PowerShell (в Win7 и Server 2008R2 - уже есть)
там это будет примерно так:
Код: plaintext
1.
ls *alies* | ?{ $_.Name -match "\S+alies*"} | %{  rename-item $_.Name ($_.Name -replace '\S+alies','\S+alies')}
...
Рейтинг: 0 / 0
03.03.2011, 09:19
    #37145823
belugin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bat cmd Переименование с копированием
вернее

Код: plaintext
1.
ls *alies* | ?{ $_.Name -match "\S+alies*"} | %{  rename-item $_.Name ($_.Name -replace '\S+alies','alies')}
...
Рейтинг: 0 / 0
03.03.2011, 11:19
    #37146105
Mozok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bat cmd Переименование с копированием
DAddill,

Если нужно обрезать ведущих 3 символа, то можно воспользоваться подстроками.
Если большая буква "A" в имени файла только одна (в слове Alies), то можно воспользоваться следующим однострочником :):
Код: plaintext
for %X in (*Alies*.rel) do for /F "delims=A tokens=1,2*" %i in ("%X") do move %X A%j
...
Рейтинг: 0 / 0
04.03.2011, 10:16
    #37148324
Mozok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bat cmd Переименование с копированием
SFX
Mozok
Код: plaintext
for %X in (*Alies*.rel) do for /F "delims=A tokens=1*" %i in ("%X") do move %X A%j
...
Рейтинг: 0 / 0
04.03.2011, 10:34
    #37148366
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
bat cmd Переименование с копированием
У меня пример Mozok даёт ошибку...
Вот мой пример...

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
@echo off
cls
del tmp.txt
for %%X in (*Alies*.rel) do (
	echo %%X >> tmp.txt
)
for /f "delims=A tokens=1,2" %%i in (tmp.txt) do (
    echo A%%j
)
del tmp.txt

Он выводит нужные автору имена файлов... Останется только сделать их перенос...
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / bat cmd Переименование с копированием / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]