2 / 2 / 0
Регистрация: 17.01.2013
Сообщений: 32
1

Переименование файлов по определённому правилу

03.05.2013, 14:01. Показов 5490. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всю голову сломал, никак не могу понять как можно с помощью командной строки переименовать файлы "Inf_lab01.txt", "Inf_lab02.txt" ... и т.д. в файлы "lab01_Inf.txt", "lab02_Inf.txt".

Если убрать первые четыре символа из файлов "Inf_lab01.txt", "Inf_lab02.txt" ... и т.д., то дальше можно выполнить:
rename lab??.txt lab??_inf.txt
, но как эти первые четыре символа убрать ума ни приложу...

Если кто-нибудь знает как это можно сделать, напишите пожалуйста)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.05.2013, 14:01
Ответы с готовыми решениями:

Переименование файлов по определённому правилу
Нужно переименовать все файлы lab01.txt, lab02.txt … в каталоге К в lab01_Inf.txt, lab02_Inf.txt,...

Переименование файлов по определённому правилу
Доброе время суток. Задача: есть много файлов. Нужно в каждом из файлов поменять один символ на...

Переименование файлов по определённому правилу
Как сделать еще 1 задание Переименовать все файлы lab01.txt, Inf_lab02.txt … в каталоге К в...

Переименование файлов по определённому правилу и их перемещение в папки с соответствующими именами
Здравствуйте. Помогите пожалуйста написать батник. Необходимо переименовать массив файлов по...

11
Модератор
Эксперт JS
5197 / 2079 / 406
Регистрация: 06.01.2013
Сообщений: 4,793
03.05.2013, 15:28 2
Лучший ответ Сообщение было отмечено как решение

Решение

Bash
1
2
3
4
5
6
7
8
9
10
11
12
@echo off
setlocal enabledelayedexpansion
for %%A IN (*) DO (
 echo.%%~nxA|findstr /R Inf_lab[0-9][0-9].txt>nul
 if !errorlevel!==0 (
  set file=%%~nxA
  set num=!file:~7,2!
  rename "%%~nxA" "lab!num!_Inf.txt"
 )
)
echo.Complete
pause>nul
3
2 / 2 / 0
Регистрация: 17.01.2013
Сообщений: 32
03.05.2013, 15:55  [ТС] 3
Спасибо конечно, только мне нужно не через bat-файл, а через командную строку.

Правда, честно говоря не знаю, может то что вы написали можно ввести в командную строку...
Просто сам не очень силен в этом деле)
0
Модератор
Эксперт JS
5197 / 2079 / 406
Регистрация: 06.01.2013
Сообщений: 4,793
03.05.2013, 16:10 4
Можно ввести и в CMD, но код надо чуть-чуть подправить.
Я сейчас с телефона сижу, так что не могу
1
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
03.05.2013, 16:16 5
Лучший ответ Сообщение было отмечено как решение

Решение

Ради прикола.
Есть подозрение, что это будет работать

Bash
1
2
3
@echo off
SetLocal EnableExtensions
For /F "TOKENS=1-2 DELIMS=Bb." %%A in ('DIR /B "%~dp0Inf_lab??.txt"') do ren "%~dp0%%Ab%%B.txt" "Lab%%B_Inf.txt"
Добавлено через 1 минуту
123sdfgsdf, о похоже я во время - это я как раз написал вариант однострочной команды.
Только Вы все двойные %% проценты замените на одинарные %.

Добавлено через 1 минуту
А и если с командной строки, то вот это %~dp0 можно нужно вообще удалить из кода (там в 2 местах).

Добавлено через 2 минуты
Вроде такого:
Bash
1
For /F "TOKENS=1-2 DELIMS=Bb." %A in ('DIR /B Inf_lab??.txt') do ren "%Ab%B.txt" "Lab%B_Inf.txt"
3
Модератор
Эксперт JS
5197 / 2079 / 406
Регистрация: 06.01.2013
Сообщений: 4,793
03.05.2013, 16:25 6
Dragokas,
0
2 / 2 / 0
Регистрация: 17.01.2013
Сообщений: 32
03.05.2013, 16:42  [ТС] 7
Dragokas,
0
Эксперт WindowsАвтор FAQ
17996 / 7697 / 892
Регистрация: 25.12.2011
Сообщений: 11,470
Записей в блоге: 16
03.05.2013, 18:00 8
Повеселили на мою пьяную голову.
0
Модератор
Эксперт JS
5197 / 2079 / 406
Регистрация: 06.01.2013
Сообщений: 4,793
03.05.2013, 18:19 9
Цитата Сообщение от Dragokas Посмотреть сообщение
пьяную голову.

Не по теме:

WAT?


Так написать на пьяную голову... Мне бы так....
0
2 / 2 / 0
Регистрация: 17.01.2013
Сообщений: 32
04.05.2013, 09:42  [ТС] 10
Теперь у меня вторая проблема: как сделать тоже самое в терминале на ubuntu.

p.s. я так понимаю там функция "mv" переименовывает, та же что и перемещает, но все равно не получается почему-то
0
Модератор
Эксперт JS
5197 / 2079 / 406
Регистрация: 06.01.2013
Сообщений: 4,793
04.05.2013, 09:46 11
Цитата Сообщение от 123sdfgsdf Посмотреть сообщение
Теперь у меня вторая проблема: как сделать тоже самое в терминале на ubuntu
Тебе в тему Linux'a

Добавлено через 1 минуту
Ubuntu, Mint Linux
1
2 / 2 / 0
Регистрация: 17.01.2013
Сообщений: 32
04.05.2013, 09:55  [ТС] 12
FraidZZ, ok) Спасибо
0
04.05.2013, 09:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.05.2013, 09:55
Помогаю со студенческими работами здесь

Переименование файлов по определенному критерию
Добрый день коллеги! Уже 2 день мучаюсь и не как не могу придумать, как написать не сложный...

Переименование файла по определенному условию
Здравствуйте, стоит передо мной задача такая не знаю как решить. Может есть какое то легкое...

Создайте цепочку по определенному правилу
Строки (цепочки латинских букв) создаются по следующему правилу. Первая строка состоит из одного...

Генерация текста по определенному правилу
Добрый день. Возникла задача сгенерировать некоторый текст по заданному образцу, а именно, нужно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru