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

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

Freddy1984 14-06-2017 13:00 2744465

удалить файл от 0 до 100 байт
 
Приветствую.
Вот так for /r %%F in (*) do if %%~zF==0 del "%%F" удаляются все файлы размером ноль байт. Подскажите пожалуйста как модернизировать код (или какой то другой) что бы можно было удалить все файлы с интервалом размера от 0 до 100 байт например. Не 0 и 100, а именно интервалом.
Спасибо.

Iska 14-06-2017 13:24 2744473

Код:

… if %%~zF geq 0 if %%~zF leq 100 del "%%F"
Не проверялось, посему вместо удаления сделайте простое echo для проверки.

Freddy1984 14-06-2017 13:31 2744476

for /r %%F in (*) do if %%~zF geq 0 if %%~zF leq 100 del "%%F"
проверил, к сожалению так не прокатывает..

Iska 14-06-2017 13:42 2744490

Freddy1984, у меня прокатывает:
Скрытый текст

У Вас проблема в чём?

Freddy1984 14-06-2017 13:49 2744495

Цитата:

Цитата Iska
У Вас проблема в чём? »

странно... пока не знаю в чём проблема, буду ковырять.

да просто в cmd код закинул, понакидал разных файлов рядом, запустил cmd, и тишина..

Iska 14-06-2017 13:56 2744502

Цитата:

Цитата Freddy1984
да просто в cmd код закинул, понакидал разных файлов рядом, запустил cmd, и тишина.. »

Покажите Ваш пакетный файл, покажите вывод dir для этого каталога, посмотрим.

Freddy1984 14-06-2017 13:59 2744505

Цитата:

Цитата Iska
Покажите Ваш пакетный файл, »

так я ж и говорю что for /r %%F in (*) do if %%~zF geq 0 if %%~zF leq 100 del "%%F" просто закинул в файл, переименовал в cmd и запустил... просто проверки ради.
по идее в текущей директории и должно было поудалять всё лишнее..

Iska 14-06-2017 14:08 2744509

А как насчёт показать:
Цитата:

Цитата Iska
покажите вывод dir для этого каталога »

?

Freddy1984 14-06-2017 14:12 2744512

Цитата:

Цитата Iska
А как насчёт показать »

как мне его вам показать, если весь мой пакетник это - for /r %%F in (*) do if %%~zF geq 0 if %%~zF leq 100 del "%%F" ?? :)

Iska 14-06-2017 14:19 2744517

Цитата:

Цитата Freddy1984
как мне его вам показать, »

Открыть окно консоли командной строки, перейти в искомый каталог, набрать dir, нажать Enter, результат вывода скопировать и выложить сюда.

Freddy1984 14-06-2017 14:26 2744524

Цитата:

Цитата Iska
результат вывода скопировать и выложить сюда. »

Что это даст только совсем я что то не понимаю :)
Вот:
Код:

Содержимое папки d:\test

14.06.2017  14:23    <DIR>          .
14.06.2017  14:23    <DIR>          ..
14.06.2017  13:28                33 1.txt
14.06.2017  13:28                22 2.txt
14.06.2017  13:29              105 3.txt
14.06.2017  13:33                0 4.txt
14.06.2017  13:55                65 test.cmd
              5 файлов            225 байт
              2 папок  65*259*745*280 байт свободно

А дальше то что? :)

Iska 14-06-2017 14:54 2744534

Цитата:

Цитата Freddy1984
А дальше то что? »

Выполните в том же окне консоли Ваш test.cmd, ещё раз dir, и снова покажите результат их исполнения.

alpap 14-06-2017 14:56 2744538

Freddy1984,
у всех работает, а у вас нет - не странно? Поэтому и просят вас показать и код и содержимое папки и то как вы его (код) запускаете
Файл 146263

Freddy1984 14-06-2017 15:02 2744540

Цитата:

Цитата Iska
Выполните в том же окне консоли Ваш test.cmd »

а тьфу ты...))) при выполнении я понял в чём касяк)) в общим кодировку поменял на ANSI и всё запахало..
всё. извиняюсь за лишнее беспокойство. :)

Iska 14-06-2017 16:02 2744558

Цитата:

Цитата Freddy1984
в общим кодировку поменял на ANSI »

Вообще-то, а) кодировка должна быть, за редким исключением, OEM/866, а не ANSI/1251 и б) в данном случае это неважно.

А у Вас какая была? Не юникод случа́́ем? Потому зачастую и просим выкладывать не текст содержимого файла, а сам файл непосредственно.

Freddy1984 14-06-2017 16:05 2744560

Цитата:

Цитата alpap
у всех работает, а у вас нет - не странно? »

да, странно. у меня такое бывает использую не ту кодировку... не знаю как себя заставить быть внимательней :)

Цитата:

Цитата Iska
Не юникод случа́́ем? »

она самая родимая и дорогая))))
Цитата:

Цитата Iska
Вообще-то, а) кодировка должна быть, за редким исключением, OEM/866, а не ANSI/1251 и б) в данном случае это неважно. »

вот. в данном случае это не важно, единственное что с юникодом проморгал...
Ладно, всем спасибо, вопрос решен должным образом. Профессионалов уважаю. :)


Время: 20:34.

Время: 20:34.
© OSzone.net 2001-