Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] перемещение папки если не содежит файлы определенного расширения

Ответить
Настройки темы
CMD/BAT - [решено] перемещение папки если не содежит файлы определенного расширения

Новый участник


Сообщения: 40
Благодарности: 1

Профиль | Отправить PM | Цитировать


здраствуйте, нужна ваша помощь в таком деле
качаю по rss в utorrente папки в котороых файлы. если папка скачана не полностью то в ней файлы с расширением *.!ut
мне надо перемещать папки которые полностью скачались (то есть не содержат расширение *.!ut) в другую папку - название которой - это дата создания файлов в папке
например
из D:\incoming\папка которая скачалась в D:\new\2013-04-04\\папка которая скачалась
спасибо

Отправлено: 22:03, 04-04-2013

 

Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


При условии, что папки находятся на одном разделе:

Код: Выделить весь код
@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"

)
Это сообщение посчитали полезным следующие участники:

Отправлено: 23:04, 04-04-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Новый участник


Сообщения: 40
Благодарности: 1

Профиль | Отправить PM | Цитировать


ура!!!
большое спасибо

Отправлено: 23:14, 04-04-2013 | #3


Новый участник


Сообщения: 40
Благодарности: 1

Профиль | Отправить PM | Цитировать


Цитата:
@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"

)
заметил баг...по скольку нельзя исользовать символ в ! в батниках то надо ставить знак ^
так работает правильнее
еще раз спасибо

Отправлено: 03:03, 06-04-2013 | #4


Ветеран


Сообщения: 1758
Благодарности: 966

Профиль | Цитировать


Цитата neprotiv:
по скольку нельзя исользовать символ в ! в батниках »
Кто вам такое сказал?!!

Отправлено: 06:47, 06-04-2013 | #5


Новый участник


Сообщения: 40
Благодарности: 1

Профиль | Отправить PM | Цитировать


я имел ввиду поповоду знака ! в именах

не помню когда и где нашел но нашел альтренативу..там это вспоминается
http://www.cyberforum.ru/cmd-bat/thread629573.html

Последний раз редактировалось neprotiv, 06-04-2013 в 15:40.


Отправлено: 14:51, 06-04-2013 | #6


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


neprotiv, проблема проявляется только при использовании отложенного расширения переменных окружения и только в определённом коде.
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:23, 06-04-2013 | #7


Новый участник


Сообщения: 40
Благодарности: 1

Профиль | Отправить PM | Цитировать


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\

Отправлено: 16:16, 07-04-2013 | #8


Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


в моем мторенте есть галочка "по окончании закачки перемещать файлы в...."

Отправлено: 07:45, 06-10-2013 | #9



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] перемещение папки если не содежит файлы определенного расширения

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Как удалить из папки все файлы определенного размера? Alex_smo Скриптовые языки администрирования Windows 6 29-07-2014 19:50
CMD/BAT - [решено] Подсчет обьема файлов определенного расширения и их удаление ilyadud Скриптовые языки администрирования Windows 14 07-07-2012 15:15
Разное - [решено] Если сжать какие нибудь файлы и папки в windows, будет он работать быстрей? Absolutus11 Microsoft Windows 7 6 04-03-2012 20:32
CMD/BAT - Перемещение в папку определенного количества файлов Arsenik77 Скриптовые языки администрирования Windows 1 18-07-2011 17:11
Восстановление удаленных файлов определенного расширения PhantomLo Хочу все знать 1 22-11-2010 21:38




 
Переход