Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 10.06.2015
Сообщений: 2
1

Создайте командный файл, выполняющий переименование файлов заданного типа

03.06.2016, 13:30. Показов 4218. Ответов 1

Author24 — интернет-сервис помощи студентам
Создайте командный файл, выполняющий переименование файлов заданного типа.
В качестве первого (обязательного) параметра должно быть задано имя папки, с которой начинается просмотр (для текущей папки задается символ "."). Вторым (необязательным) параметром является тип файла:
• text – для текстовых файлов (с расширением .txt);
• prog – для командных файлов (с расширением .bat);
• all – для всех файлов папки.
Если второй параметр не задан, выдается запрос на ввод имени файла (в имени файла могут быть использованы символы "?" и "*") и запрос на ввод расширения файла (должно быть одно из перечисленных выше расширений).
После этого определяется и выводится (в зависимости от значения второго параметра) количество файлов заданного типа или всех файлов в папке.
Затем (с использованием команды for с опцией /L) в цикле выводятся имена файлов (от 1 до количества файлов) и задаются запросы на новое имя файла (без расширения, которое не меняется). Если введена непустая строка, имя файла изменяется на новое имя (с помощью команды ren) и выводится сообщение об изменении файла, в противном случае имя файла не меняется и также выводится соответствующее сообщение.
Если файлов указанного типа нет в папке, выводится сообщение «В папке нет файлов типа имя-типа».
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.06.2016, 13:30
Ответы с готовыми решениями:

Создайте командный файл, выполняющий проверку наличия файлов с заданным расширением
Создайте командный файл, выполняющий проверку наличия файлов с заданным расширением (например, doc...

Создайте командный файл копирования файлов заданного типа (с помощью команды COPY) из одной папки в другую
Создайте командный файл копирования файлов заданного типа (с помощью команды copy) из одной папки в...

Создайте командный файл, выводящий характеристики файлов
Честно сказать, совершенно не понимаю, как. Надеюсь, кто-нибудь поможет. Создайте командный...

Создайте файл строкового типа. Используя содержимое этого файла, создайте файл символьного типа. Содержимое файлов выведите на экран.
Создайте файл строкового типа. Используя содержимое этого файла, создайте файл символьного типа....

1
2 / 2 / 1
Регистрация: 15.07.2015
Сообщений: 16
03.06.2016, 19:26 2
Лучший ответ Сообщение было отмечено retili как решение

Решение

Без понятия как можно с опцией /L для for перечислить файлы, поэтому сделал без нее.

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
@echo off 
echo Rename files
if "%1"=="" ( 
echo Do not specify the 1st parameter
echo Input /? to output help
pause 
goto :EOF
) 
if "%1"=="/?" ( 
echo Rename files of a certain extension
echo 1st parameter - folder name
echo 2nd parameter - file type
echo Types:
echo -text for *.txt 
echo -prog for *.bat 
echo -all for *.* 
pause 
goto exit
) 
if not exist %1 ( 
echo Folder is not exist
pause 
goto exit 
)
if not "%1"=="." ( 
pushd %1 
)
if "%2"=="" ( 
echo Do not specify the 2nd parameter 
set /p nam=Input file name: 
set /p ext=Input file extension: 
) else (goto run)
if not exist "*.%ext%" (
echo There are not *.%ext% files in this folder
pause
goto exit
) else (goto user_type)
:run
if "%2"=="text" (   
for %%I in (*.txt) do call :rename "%%I" .txt
pause 
goto exit 
)
if "%2"=="prog" ( 
for %%I in (*.bat) do call :rename "%%I" .bat 
pause 
goto exit 
)
if "%2"=="all" (
for %%I in ("*.*") do call :rename "%%I" %%~xI
pause 
goto exit 
)
:user_type
for %%I in (%nam%.%ext%) do call :rename "%%I" .%ext%
pause
goto exit 
pause
goto :exit
:rename
echo Renaming file %1
set /p n=Input new name: 
if "%n%"=="" (
echo The file is not renamed
) else (
ren %1 "%n%%2"
echo Renamed file
)
set "n="
exit /b  
:exit
if not "%1"=="." (cd ../)
1
03.06.2016, 19:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.06.2016, 19:26
Помогаю со студенческими работами здесь

Создайте командный файл, выводящий содержимое текстовых файлов, содержащих заданное слово
Создайте командный файл, выводящий содержимое текстовых файлов, содержащих заданное с помощью...

Написать командный файл, выполняющий следующие действия...
написать командный файл выполняющий следующие действия 1) создать каталог с названием dir<дата>,...

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

Разработать и выполнить командный файл, выполняющий поиск на диске
Разработать и выполнить командный файл, выполняющий поиск на диске С:(или любом доступном диске)...

Создать командный файл, выполняющий в зависимости от ключа один из 3–х вариантов работы
Создать командный файл выполняющий в зависимости от ключа один из 3–х вариантов работы: – с ключом...

Разработать и выполнить командный файл (КФ), выполняющий подсчет количества целых чисел в текстовом файле
Разработать и выполнить командный файл (КФ), выполняющий подсчет количества целых чисел в текстовом...


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

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