Alvin Seville
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
1

.bat для копирования, переноса и удаления файлов не работает

18.01.2020, 16:16. Показов 2458. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
:: This .bat file allows you to copy/transfer files from one folder to another one and remove them.
:: You have to pass path triples: action arg0 arg1.
:: Action could be one of the following values: copy, move, delete.
:: Example: CopyAction.bat Copy PathFromA PathToA Move PathFromB PathToB
 
@echo off
title Action
setlocal
 
:: General Error Types
set emptyPathListError=There is no path list provided.
set wrongPathError=Wrong path to file provided.
 
:: Available Actions
set copyAction=copy
set moveAction=move
set deleteAction=delete
 
:: Action Errors
set wrongAction=Action could be copy or move or delete only.
set wrongActionArgsCountError=This action requieres another parameter count.
 
:: Main Code
set argsCount=0
for %%x in (%*) do set /A argsCount+=1
 
if %argsCount% EQU 0 (
    echo %emptyPathListError%
    pause
Rem exit 1
)
 
set /A i=0
 
Rem Проблемы начинаются ниже.
if %%~%i% EQU %copyAction% (
    set /A i+=1
    if not exist %%~%i% (
        echo %wrongPathError%
Rem     exit 1
    )
    set from=%%~%i%
    set /A i+=1
 
    if not exist %%~%i% (
        echo %wrongPathError%
Rem     exit 1
    )
    set to=%%~%i%
    set /A i+=1
 
    xcopy %from% %to%
)
 
endlocal
Логика работы программы должна быть следующей:
- Если программа встречает аргумент "copy", то ожидает, что дальше должны следовать два аргумента-пути: откуда и куда копировать.
- Если программа встречает аргумент "move", то ожидает, что дальше должны следовать два аргумента-пути: откуда и куда переносить.
- Если программа встречает аргумент "delete", то ожидает, что дальше должен следовать аргумент-путь к удаляемому файлу или директории.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.01.2020, 16:16
Ответы с готовыми решениями:

Командный файл для копирования, переноса и удаления файлов из задаваемых в меню директорий с выбором действий
Всем доброго времени суток... Нужно написать командный файл для копирования, переноса и удаления...

Не работает CMD/BAT для удаления файлов на дисках в Windows XP
Добрый день Создал bat файл для удаления определенных файлов на всех дисках в Windows XP Не...

BAT фаил для перемещения файлов и удаления расширения этих файлов
Приветствую форумчане и гуру! Задача в следующем: 1. Есть папка ABC в которой создано несколько...

BAT файл для копирования и перемещений файлов
Добрый день! Излазил весь сайт и не только этот, но никак не могу написать нормально bat файл для...

2
4334 / 2124 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
18.01.2020, 21:57 2
Лучший ответ Сообщение было отмечено Соколиный глаз как решение

Решение

Цитата Сообщение от Соколиный глаз Посмотреть сообщение
Логика работы программы должна быть следующей:
начнем с того что логики тут нет никакой, ровно как и смысла в таком bat
если мы вводим первым параметром copy (move, delete), то заведомо знаем что мы собираемся сделать и зачем в программе что-то еще определять.
делать один bat для этих трех разных команд можно только для самого примитивного случая, а если рекурсия или изменение выходного имени или исключения есть, то надо все равно для каждой команды делать свой блок, так зачем совмещать (мешать в кучу) тогда.
1
Alvin Seville
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 9
19.01.2020, 06:00  [ТС] 3
alpap, желал сделать .bat универсальным, как обычно делаю свои программы на C#. Но, теперь, буду знать, что так делать не стоит.
0
19.01.2020, 06:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.01.2020, 06:00
Помогаю со студенческими работами здесь

Батник для копирования и удаления определенных файлов
Всем привет! Задача такая. Есть папка на диске С куда падают файлы разных мастей, в то же время в...

Командный файл для копирования или переноса с дискеты на винчестерский накопитель всех файлов и каталогов
Разработать командный файл INSTALL.BAT для копирования или переноса с дискеты на "винчестерский"...

BAT файл для удаления NEF файлов
Здравствуйте! Нигде не нашел как это сделать! Нужна помощь! :cry: Нужен батник для удаления...

.bat файл для удаления программ, папок и файлов
Добрый день! Есть задачу - нужно с ПК Windows 10 домашняя удалить унинсталлом 5 программ, папку с...


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

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

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