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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Как удалить файл с названием вроде http%3A%2F%2Fsite.ru%2F.png командой del?? (http://forum.oszone.net/showthread.php?t=307282)

Sisin 29-10-2015 20:10 2569524

Как удалить файл с названием вроде http%3A%2F%2Fsite.ru%2F.png командой del??
 
Как удалить файл с названием вроде http%3A%2F%2Fsite.ru%2F.png командой del??

Foreigner 29-10-2015 20:31 2569533

А в чем сложность?
Код:

  > cd.>"http%3A%2F%2Fsite.ru%2F.png"
                                   
  > dir /b                         
1.ps1                               
6182.txt                           
Downloads                           
http%3A%2F%2Fsite.ru%2F.png         
p.txt                               
test                               
                                   
  > del "http%3A%2F%2Fsite.ru%2F.png"
                                   
  > dir /b                         
1.ps1                               
6182.txt                           
Downloads                           
p.txt                               
test


Sisin 29-10-2015 20:51 2569540

Цитата:

Цитата Foreigner
А в чем сложность? »

Попробуй сам. Тебе помог твой скрипт??? Просто %3A%2F%2F преобразуется в буквы.

Iska 29-10-2015 21:15 2569549

Цитата:

Цитата Sisin
Просто %3A%2F%2F преобразуется в буквы. »

Где «преобразуется»? Детально описывайте процесс.

Sisin 29-10-2015 21:22 2569553

Цитата:

Цитата Iska
Где «преобразуется»? Детально описывайте процесс. »

Если написать del /q "http%3A%2F%2Fsite.ru%2F.png", то вылезет сообщение
Не удается найти httpAFFsite.ruF.png

Foreigner 29-10-2015 21:29 2569554

Цитата:

Цитата Sisin
Попробуй сам. »

Я и попробовал и показал вывод консоли. Или надо скриншот?

Sisin 29-10-2015 21:40 2569559

Цитата:

Цитата Foreigner
Я и попробовал и показал вывод консоли. Или надо скриншот? »

Странно, через саму консоль работает.

Но мне надо через bat файл, а через него не работает.

Foreigner 29-10-2015 22:03 2569565

Sisin, Если через батник, то или удвойте знак процента или удаляйте по маске:
Код:

del http%%3A%%2F%%2Fsite.ru%%2F.png
del http*.png


Sisin 29-10-2015 22:13 2569568

Цитата:

Цитата Foreigner
Sisin, Если через батник, то или удвойте знак процента или удаляйте по маске: »

Точно, спасибо.

Как сделать, чтобы файл finddel.bat создавался с уже удвоенным знаком процента???

Код:

@echo off
set "OperaProfile=D:\Programs\Opera1215\profile\"
(for /f "tokens=2 delims=/" %%i in ('findstr "URL" "%OperaProfile%bookmarks.adr"') do (
(echo http%%3A%%2F%%2F%%i%%2Ffavicon.)
(echo %%i.)
)) > find1.txt
dir /b "%OperaProfile%icons\*.idx" "%OperaProfile%icons\*.png" "%OperaProfile%icons\*.ico" > find2.txt
findstr /v /b /g:find1.txt find2.txt > find3.txt
(for /f %%i in (find3.txt) do echo del /f /q  "%OperaProfile%icons\%%i") > finddel.bat

PS: Работает так
из файла bookmarks.adr названия сохраняются в find1.txt ,
из папки icons названия сохраняются в find2.txt ,
find1.txt вычитается из в find2.txt - получается find3.txt ,
создается finddel.bat с удалением всех файлов из find3.txt.

Foreigner 29-10-2015 22:20 2569570

Sisin, Наверное надо учетверить %%%%
Код:

....
1>find1.txt (for /f "tokens=2 delims=/" %%i in ('findstr "URL" "%OperaProfile%bookmarks.adr"') do (

    echo http%%%%3A%%%%2F%%%%2F%%i%%%%2Ffavicon.
    echo %%i.

))
....


Sisin 29-10-2015 22:26 2569574

Цитата:

Цитата Foreigner
Sisin, Наверное надо учетверить %%%% »

Как это сделать???

Foreigner 29-10-2015 22:42 2569580

Sisin, Теперь понял. Может лучше не создавать finddel.bat, а сразу удалять? Что приблизительно получается в find3.txt?

Sisin 29-10-2015 22:42 2569581

Цитата:

Цитата Foreigner
....
1>find1.txt (for /f "tokens=2 delims=/" %%i in ('findstr "URL" "%OperaProfile%bookmarks.adr"') do (
echo http%%%%3A%%%%2F%%%%2F%%i%%%%2Ffavicon.
echo %%i.
))
.... »

Так не сработает. Так только добавится лишний % в find1.txt

Foreigner 29-10-2015 22:56 2569588

Sisin, попробуй так:
Код:

...

0>nul 1>finddel.bat (

    for /f %%i in (find3.txt) do (

      set /p="del /f /q  "%OperaProfile%icons\%%i""
      echo.

))



Время: 13:00.

Время: 13:00.
© OSzone.net 2001-