Показать полную графическую версию : [решено] перемещение папки если не содежит файлы определенного расширения
neprotiv
04-04-2013, 22:03
здраствуйте, нужна ваша помощь в таком деле
качаю по rss в utorrente папки в котороых файлы. если папка скачана не полностью то в ней файлы с расширением *.!ut
мне надо перемещать папки которые полностью скачались (то есть не содержат расширение *.!ut) в другую папку - название которой - это дата создания файлов в папке
например
из D:\incoming\папка которая скачалась в D:\new\2013-04-04\\папка которая скачалась
спасибо
Foreigner
04-04-2013, 23:04
При условии, что папки находятся на одном разделе:
@echo off
pushd "D:\incoming"
for /f "tokens=*" %%i in (' dir /b /ad ') do if not exist "%%i\*.!ut" call:1 "%%i" %%~ti
popd
goto:eof
:1
for /f "tokens=1-3 delims=." %%i in ("%2") do (
2>nul md "D:\new\%%k-%%j-%%i"
move %1 "D:\new\%%k-%%j-%%i"
)
neprotiv
04-04-2013, 23:14
ура!!!
большое спасибо
neprotiv
06-04-2013, 03:03
@echo off
pushd "D:\incoming"
for /f "tokens=*" %%i in (' dir /b /ad ') do if not exist "%%i\*.^!ut" call:1 "%%i" %%~ti
popd
goto:eof
:1
for /f "tokens=1-3 delims=." %%i in ("%2") do (
2>nul md "D:\new\%%k-%%j-%%i"
move %1 "D:\new\%%k-%%j-%%i"
)
заметил баг...по скольку нельзя исользовать символ в ! в батниках то надо ставить знак ^
так работает правильнее
еще раз спасибо
Foreigner
06-04-2013, 06:47
по скольку нельзя исользовать символ в ! в батниках »
Кто вам такое сказал?!!
neprotiv
06-04-2013, 14:51
я имел ввиду поповоду знака ! в именах
не помню когда и где нашел но нашел альтренативу..там это вспоминается
http://www.cyberforum.ru/cmd-bat/thread629573.html
neprotiv, проблема проявляется только при использовании отложенного расширения переменных окружения и только в определённом коде.
neprotiv
07-04-2013, 16:16
Iska, тогда понятно
поскольку я исользуую файл setting.ini чтобы менять параметры
во многом я пользуюсь методом тыка и сравнением других батников
вот реальный код который я использую...
@echo off
setlocal enabledelayedexpansion
For /F "eol=; tokens=1* delims==" %%i In (settings.ini) Do Set %%i=%%j
pushd "%INCOMING.INT%"
for /f "tokens=*" %%i in (' dir /b /ad ') do if not exist "%%i\*.^!ut" call:1 "%%i" %%~ti
popd
goto:eof
:1
for /f "tokens=1-3 delims=." %%i in ("%2") do (
2>nul md "%INCOMING.OUT%%%k-%%j-%%i"
move %1 "%INCOMING.OUT%%%k-%%j-%%i"
)
ну а в файле настроек так
INCOMING.INT=D:\rss\
INCOMING.OUT=D:\2013\
vova_kansk
06-10-2013, 07:45
в моем мторенте есть галочка "по окончании закачки перемещать файлы в...."
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.