Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Сценарий,обработка файлов BAT (http://forum.oszone.net/showthread.php?t=326045)

balin96 17-04-2017 21:29 2730189

Сценарий,обработка файлов BAT
 
Здравствуйте, столкнулся с несколькими вопросами при написании сценария.

Сценарий запускается с параметрами - путь к каталогу и и произвольное количество параметров, задающих расширения файлов. Файлы с заданными расширениями должны быть перемещены их всех подкаталогов в новый (в род каталоге и название текущая дата). Пути к перемещенным каталогам и общее их кол-во записать во временный файл, после отображения - удаляется.

Если файлов нет, предусмотреть сообщение. Предусмотреть проверку наличия параметров при запуске сценария и существование каталога.

Написал сценарий, но вот есть несколько недочетов. Не знаю, как сделать
1)Кол-во файлов с таким расширением
2)При записи в файл после просмотра первой папки создается требуемая, но батник заходит и в эту папку тоже.

Пример запуска 1.bat C:\... txt

@echo off
if "%~1"=="" echo Путь к каталогу или новому файлу отсутствует&&exit /b
if "%~2"=="" echo Расширение отсутствует&&exit /b
if not exist "%~1" echo Каталог отсутствует&&exit /b

set sFolderName=%date%
md %sFolderName::=-%

FOR /R %1 %%i IN (*.%2) DO ( @echo %%~fi >>1234.tmp | move /y "%%i" "%sFolderName::=-%" )

IF EXIST 1234.tmp (echo. | echo Содержимое временного файла:
type 1234.tmp
del 1234.tmp) ELSE (echo. | echo Файлов с таким расширением - нет)


Помогите пожалуйста разобраться

Iska 18-04-2017 02:58 2730228

Цитата:

Цитата balin96
Файлы с заданными расширениями должны быть перемещены их всех подкаталогов в новый »

А если файлы окажутся с одинаковыми именами — то что делать?

Цитата:

Цитата balin96
(в род каталоге и название текущая дата) »

Что такое «род каталог»?

Цитата:

Цитата balin96
Пути к перемещенным каталогам »

Чуть выше речь шла про перемещение файлов. Причём тут перемещённые каталоги? Определитесь.

alpap 18-04-2017 12:35 2730307

Цитата:

Цитата balin96
Пути к перемещенным каталогам »

это я тоже не смог нормально ассоциировать, поставил пути к папкам в которых были перемещаемые файлы
параметров может быть много и желательно в кавычках как в примере (кто не в курсе, расширение бывает с пробелом)

запуск: name.bat "C:\osn_papka" "txt" "docx"
код:
Код:

@echo off
if not "%*"=="" (set "rf=%*") else (echo Забыли ввести параметры& pause& exit /b)
if not exist "%~1" echo Каталог-то "%~1" неплохо было-бы и создать!& pause& exit /b
set "out=%date%"
if not exist "%out%" md "%out%"
for /f "delims=" %%a in ('cmd/v/c "for %%a in (!rf:%1 ^=!) do @<nul set /p="*.%%~a ""') do call :# "%~1" "%%a" "%out%"
>>"temp.txt" (<"temp.txt" find /c /v "")& explorer "temp.txt"
pause& del "temp.txt"& exit
 
:#
 for /f "delims=" %%a in ('where /r "%~1" %~2') do (
  if exist "%%a" (>>"temp.txt" (echo %%~dpa)& >nul move "%%a" "%~3\") else (echo Файлов как-то не наблюдается)
 )
exit /b



Время: 14:18.

Время: 14:18.
© OSzone.net 2001-