Как удалить файл с названием вроде http%3A%2F%2Fsite.ru%2F.png командой del??
Как удалить файл с названием вроде http%3A%2F%2Fsite.ru%2F.png командой del??
|
А в чем сложность?
Код:
> 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
|
Попробуй сам. Тебе помог твой скрипт??? Просто %3A%2F%2F преобразуется в буквы.
|
Цитата:
Цитата Sisin
Просто %3A%2F%2F преобразуется в буквы. »
|
Где «преобразуется»? Детально описывайте процесс.
|
Цитата:
Цитата Iska
Где «преобразуется»? Детально описывайте процесс. »
|
Если написать del /q "http%3A%2F%2Fsite.ru%2F.png", то вылезет сообщение
Не удается найти httpAFFsite.ruF.png
|
Я и попробовал и показал вывод консоли. Или надо скриншот?
|
Цитата:
Цитата Foreigner
Я и попробовал и показал вывод консоли. Или надо скриншот? »
|
Странно, через саму консоль работает.
Но мне надо через bat файл, а через него не работает.
|
Sisin, Если через батник, то или удвойте знак процента или удаляйте по маске:
Код:
del http%%3A%%2F%%2Fsite.ru%%2F.png
del http*.png
|
Цитата:
Цитата 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.
|
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.
))
....
|
Цитата:
Цитата Foreigner
Sisin, Наверное надо учетверить %%%% »
|
Как это сделать???
|
Sisin, Теперь понял. Может лучше не создавать finddel.bat, а сразу удалять? Что приблизительно получается в find3.txt?
|
Цитата:
Цитата 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
|
Sisin, попробуй так:
Код:
...
0>nul 1>finddel.bat (
for /f %%i in (find3.txt) do (
set /p="del /f /q "%OperaProfile%icons\%%i""
echo.
))
|
Время: 13:00.
© OSzone.net 2001-