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

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

Eugene Shugaev 16-03-2014 16:13 2324351

написать bat для копирования файлов по каталогам на desktop
 
Задача: на рабочем столе мусор в виде *.txt; *.rar; *.jpeg - нужно написать bat для копирования этих файлов по каталогам на desktop
Что я написал:

@echo off

set /p path="(C:\) Path: "
set /p format="File format.xxx: "

if not exist ".\%format%_Files" (MD ".\%format%_Files")

rem проблема именно здесь, он ищет файлы не в "%userprofile%\Desktop\ " а в "%userprofile%\Desktop\%FileFormat%_Files\ "
rem Конечно не находит, и всЁ(((
for /f "tokens=*" %%a in ('dir /b /s /ad "%pathE%"') do (copy "%%a\*.%FileFormat%" ".\%FileFormat%_Files\")
rem Как оформить алгоритм???

Foreigner 16-03-2014 17:39 2324405

Eugene Shugaev, С проверкой на наличие в конечной папке:
Код:

@echo off
setlocal

pushd "%userprofile%\desktop" || goto:eof

for /f "tokens=*" %%i in ('dir /b /a-d-h-s') do call:move "%%i"

popd
goto:eof

:move
set "file=%~n1"
2>nul md "files%~x1"

:check
set /a cnt+=1

if not exist "files%~x1\%file%%~x1" (

    copy %1 "files%~x1\%file%%~x1"

) else (

    set "file=%~n1_%cnt%"
    goto:check

)

set "cnt="



Время: 01:58.

Время: 01:58.
© OSzone.net 2001-