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

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

Ответить
Настройки темы
CMD/BAT - Переместить файлы в которых больше 3-х знаков препинания

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


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

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


Код: Выделить весь код
@echo off
setlocal ENABLEDELAYEDEXPANSION
if '%1'=='' (
echo No directory.
goto :end
) else (
pushd %1
)
echo Move files from %1
echo Move file to %2
echo -------------------------------------------
set /a count2=0
for %%i in (*) do (
set name=%%i
set /a count=0
for /l %%j in (0,1,255) do (
set "lit=!name:~%%j,1!"
if "!lit!"=="." set /a count=count+1
if "!lit!"=="," set /a count=count+1
if "!lit!"==":" set /a count=count+1
if "!lit!"==";" set /a count=count+1
if "!lit!"=="'" set /a count=count+1
if "!lit!"=="-" set /a count=count+1
)
if !count! GTR 3 (
echo %%i
move "%%i" %2
set /a count2=count2+1
)
)

if '!count2!'=='0' (
echo No files
echo -------------------------------------------
) else (
echo ---------------------------------
echo Moved file !count2!
echo ---------------------------------
)
:end
popd
@echo finished
вот что я написал.
но при запуске выдает она выводит имена файлов правильно но не перемещает их а пишет
"системе не удается найти заданный путь"

Отправлено: 22:07, 29-09-2011

 

Ветеран


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

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


Gablik,
Код: Выделить весь код
@echo off
setlocal

set "dest=%~1"

for /f "tokens=*" %%i in ('dir /b /a-d') do call:check "%%~i"
goto:eof

:check
set "file=%~n1"
set "file=%file: =_%"
set "file=%file:.=,%"
set "file=%file:;=,%"
set "file=%file:'=,%"
set "file=%file:-=,%"

for %%i in (%file%) do set /a cnt+=1

if %cnt% grt 3 move %1 "%dest%"

for %%i in  (cnt file) do set "%%i="
Вызывать:
Код: Выделить весь код
C:\> batnik "C:\destination"

Последний раз редактировалось Foreigner, 30-09-2011 в 20:05.

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

Отправлено: 06:51, 30-09-2011 | #2



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

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



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] переместить файлы по папкам согласно списку shadowbat Скриптовые языки администрирования Windows 9 17-11-2023 14:51
[решено] Не удаётся переместить файлы на карту памяти lunar Хочу все знать 4 26-07-2011 17:18
CMD/BAT - [решено] Переместить файлы, в имени которых больше трех цифр. hazardhz Скриптовые языки администрирования Windows 5 14-05-2011 12:32
Мультимедиа - [решено] Проблема с mp3-файлами битрейт которых больше 300 kbps Zuboklev Программное обеспечение Windows 8 11-04-2011 10:50
Ошибка - [решено] Не могу переместить AVI файлы через панель инструментов. kp.Drako Microsoft Windows 2000/XP 11 12-06-2010 00:36




 
Переход