Последние сообщения

Страницы: 1 ... 3 4 [5] 6 7 ... 10
41
например 7777 перенести в отдельную папку например C:\IMG и конечно перед переносом её почистить от всего лишнего.
Вот почему. Основное задание здесь, его и перечитывал несколько раз. А здесь сказано перенести.

Если надо, чтоб работало с пробелами, нужно добавить кавычек, чтоб в итоге запрос получился такой
/C del /q C:\IMG\ && cd "C:\office\test" && for /f "delims=" %i in ('dir /b /s /a-d "C:\office\test\*7777*.jpg"') do (move /y "%i" "C:\IMG\")

P.S. так что ли. Надеюсь не ошибся. Не проверял.
Код: Clickermann
  1. $moveto = STRCONCAT("cd ", CHAR(34), $dir_in, CHAR(34), " && for /f ", CHAR(34), "delims=", CHAR(34), " %i in ('dir /b /s /a-d ", CHAR(34), $dir_in, "\*", $template, "*.jpg", CHAR(34), "') do (copy /y ", CHAR(34), "%i", CHAR(34), " ", CHAR(34), $dir_out, CHAR(34), ")")
43
Жаль что файлики которые копируются тоже удаляются. Оставить их как-то можно?
Ха. Почему я упорно прочитал 'перенести', а не копировать. Сознательно так и делал.
Поменяй move на copy или xcopy
44
Вот же блин!!! Когда меняешь файлам имя группой, винда вставляет пробел с номером в скобках - IMG_12201_16_145647 (21)
Внёс изменения в названия файлов и они перенеслись мигом.
Жаль что файлики которые копируются тоже удаляются. Оставить их как-то можно?
Так или иначе...
Vint, снимаю шляпу!
Огромнейшее спасибо!!!
45
Надеюсь в путях нет пробелов и русских букв.
Если будут файлы с одинаковыми именами, они перезапишутся.
Три раза проверил (все папки в корне диск C:)
1. Вспомнил историю на форуме как ты нашёл проблему и долго смеялся. Оказалось, что название у юзера картинки было с русскими буквами  а написано по английски.
2. Файлы с одинаковыми именами, они перезапишутся. Да, да.. спасибо. Извиняюсь что не написал, именно так и нужно.

Только вот у меня файлики удаляются, а в папку IMG не переносятся (
Код: Clickermann
  1. $dir_in = "C:\office\test"   //папка, где будем искать
  2. $dir_out = "C:\IMG\"  // Куда перемещаем
  3. $template = "7777"  // шаблон поиска
  4.  
  5. $clear = STRCONCAT("del /q ", $dir_out)
  6. LOGWRITE ("удалили файлы")
  7. $moveto = STRCONCAT("cd ", $dir_in, " && for /f ", CHAR(34), "delims=", CHAR(34), " %i in ('dir /b /s /a-d ", $dir_in, "\*", $template, "*.jpg') do (move /y %i ", $dir_out, ")")
  8.  
  9. $cmd = STRCONCAT("/C ", $clear, " && ", $moveto)
  10. //print($cmd)
  11. LOGWRITE ("cmd: ", $cmd)
  12. EXECUTE("cmd.exe", $cmd)
  13.  
  14. HALT

вот cmd в логе..
20:16:16 удалили файлы
20:16:16 cmd: /C del /q C:\IMG\ && cd C:\office\test && for /f "delims=" %i in ('dir /b /s /a-d C:\office\test\*7777*.jpg') do (move /y %i C:\IMG\)
Важно где будет находиться запускаемый файл?
Пробовал его размещать
C:\office\test
и
C:\office
не хочет копировать файлы. Вот пример с именем файла IMG_177777_12_145647 (17).jpg.
Подскажи что не так?
46
Да легко

Код: Clickermann
  1. $dir_in = "C:\Office\test"   //папка, где будем искать
  2. $dir_out = "C:\IMG\"  // Куда перемещаем
  3. $template = "7777"  // шаблон поиска
  4.  
  5. $clear = STRCONCAT("del /q ", $dir_out)
  6. $moveto = STRCONCAT("cd ", $dir_in, " && for /f ", CHAR(34), "delims=", CHAR(34), " %i in ('dir /b /s /a-d ", $dir_in, "\*", $template, "*.JPG') do (move /y %i ", $dir_out, ")")
  7.  
  8. $cmd = STRCONCAT("/C ", $clear, " && ", $moveto)
  9. //print($cmd)
  10. EXECUTE("cmd.exe", $cmd)

Надеюсь в путях нет пробелов и русских букв.
Если будут файлы с одинаковыми именами, они перезапишутся.
47
Добрый день!
Нужно копировать файлы с определённым названием в одну папку. Перед копированием удалить все ранее сохранённые там файлы.
Например условно есть разные папки:
C:\Office\test\222
C:\Office\test\555
C:\Office\test\333

В которых имеются файлы с названиями типа: a611-47730.JPG, a611-77770.JPG, a611-47880.JPG,  7777-47880.JPG ну и т.д. и вот нужно все файлы в которых в названии есть например 7777 перенести в отдельную папку например C:\IMG и конечно перед переносом её почистить от всего лишнего.
В поиске долго искал, но как-то с перемещением файлов не так много тем. Нашёл что-то приближённое: http://crapware.aidf.org/forum/index.php?topic=4575.msg31318#msg31318 но у меня почему-то не "взлетело" подскажите пожалуйста как это лучше реализовать. В дальнейшем планирую для поиска файлов использовать переменную.
48
Ошибки / Win10 не работают #ps2_mouse #ps2_keyboard режимы.
« Последний ответ от ionich123 Май 02, 2022, 08:46:45 am »
Без этих режимов команды выполняются, с ними только мышь двигается но кликов или нажатий клавиш нет. Запускаю от администратора программу.
К сожалению ноут новый и вин7 не смогу поставить чтобы проверить.
49
ясно) еще раз спасибо)
я совсем не так как вы рассуждал))) я пытался проверить по очерёдно  два массива "фон" и "новый список" на совпадение с пикселем, но где-то запарился и получал кучу дублей. теперь немного допилив ваше, получаю по желанию и накопленный массив с множества скринов и разовый результат по скрину.
считал, что первое, что напишет для себя пользователь Clickermann это как раз грабер изображений...)))

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

а какие есть варианты по надежному определению движущихся объектов? colormode не помогает совсем, т.к. начинается "подтяжка" упрощеных участков фона.

или "всё, дальше питон..."? )
50
Огромное спасибо)
Всё отлично работает 8) , но всё "чуток" не так как я себе представлял...)))
можно уточнить? не могу понять смысл-логику 38й строки, и зачем $d увеличивается на 100 и именно на 100? отсюда не понимаю, что происходит от 41 строки.
если условие в строке 37
IF($c = $arr_color_fon[$d])
 верно, то найденный цвет уже есть в массиве и дальше с ним ни каких действий и проверок совершать не нужно.
в строке 38 $d увеличивается не  на 100, а на значение при котором прекратится работа текущего цикла
$d= ARRSIZE($arr_color_fon)+100
 в данном случае нужно превысить текущее число элементов массива. увеличивать можно любым способом на любое значение, можно просто написать
$d= 64743866
 главное превысить значение при котором цикл
FOR($d = 0, $d < ARRSIZE($arr_color_fon))
 прекратит далее ненужную работу.
 в строке 41 проверяется чем закончилась работа цикла сравнения цветов
  IF($d<ARRSIZE($arr_color_fon)+100)
         ARRPUSH ($arr_color_fon, $c)
         LOGWRITE ("x,y - ", $x,",", $y," цвет ", $c)
      END_IF
 если условие верно, то такого цвета в массиве нет и следующие строки добавляют цвет в массив и делают запись в лог где  и какой цвет найден
Страницы: 1 ... 3 4 [5] 6 7 ... 10