aggressor_ |
01-02-2011 19:47 1602309 |
Дополнить батник для очистки папки
Здравствуйте! Имеется простенький бат файл
Код:
del /S/Q "C:\Program Files\The KMPlayer\Temp"
Хотелось бы его немного изменить:
открывать вначале папку temp, чтобы посмотреть какие файлы и затем задать вопрос об очистки (т.е. что бы появилось окошко с соответствующим вопросом на удаление "да, нет")
|
Цитата:
Цитата aggressor_
открывать вначале папку temp, чтобы посмотреть какие файлы и затем задать вопрос об очистки »
|
не совсем понял, что значит "посмотреть", как вариант:
Код:
@echo off
SETLOCAL EnableExtensions
set "$TMP=C:\Program Files\The KMPlayer\Temp"
PUSHD "%$TMP%"||(pause>nul& GoTo:EOF)
dir/b/a/s|findstr ".">nul||(echo Каталог пуст.&pause>nul&GoTo:EOF)
(echo Содержимое каталога "%$TMP%":
echo -----------------------------
dir/b/a/s)|more
:LOOP
set/p YN="Удалить содержимое временного каталога? (Y/N): "
if /i not "%YN%"=="Y" if /i not "%YN%"=="N" GoTo LOOP
if /i "%YN%"=="Y" RD /S/Q "%$TMP%"2>nul&echo Каталог очищен.&pause>nul
POPD& ENDLOCAL
|
aggressor_ |
02-02-2011 16:56 1602931 |
Немного не так...
Нужно сначала открыть указанную папку (вывести на экран не содержимое папки, а саму папку развернуть на экране), а затем предложить удаление ( без Y/N, чтобы можно было мышкой нажать окей)
p.s. в каком шрифте нужно сохранять?
|
Цитата:
Цитата aggressor_
Нужно сначала открыть указанную папку (вывести на экран не содержимое папки, а саму папку развернуть на экране), а затем предложить удаление ( без Y/N, чтобы можно было мышкой нажать окей) »
|
Привет...
А на VBS не пойдет? Мне, тоже как-то надо было открыть папку в BAT, но нехватило терпения искать и я так до сих пор не знаю.
А на VBS, пожалуйста:
Код:
Set objShellApp = CreateObject("Shell.Application")
objShellApp.Open("C:\Program Files\The KMPlayer\Temp")
WScript.Sleep 500
result = MsgBox ("ВЫ ДЕЙСТВИТЕЛЬНО ХОТИТЕ УДАЛИТЬ ПАПКУ?", vbYesNo, "Удаление папки.")
Select Case result
Case vbYes
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.DeleteFolder "C:\Program Files\The KMPlayer\Temp"
WScript.Quit
Case vbNo
WScript.Quit
End Select
|
Цитата:
Цитата aggressor_
в каком шрифте нужно сохранять? »
|
DOS 866
Цитата:
Цитата aggressor_
открыть указанную папку (вывести на экран не содержимое папки, а саму папку развернуть на экране) »
|
Код:
explorer /root,"C:\Program Files\The KMPlayer\Temp"
Цитата:
Цитата aggressor_
чтобы можно было мышкой нажать окей »
|
вопрос не совсем в тему - батники для консольных решений, смотрите в сторону WSH/PowerShell/AutoIT
|
Цитата:
Цитата amel27
explorer /root,"C:\Program Files\The KMPlayer\Temp" »
|
Спасибо.А, мне, как раз тоже это было интересно.А на счёт я с тобой согласен. Не видел твоего сообщения и написал ответ на VBS.
PS: Послушай amel27, может не к месту, но всё же не подскажешь как из текстового файла прочитать в переменную. Ну, на пример, в тексте написано C:\Program Files\ля_ля\гу_гу
Как вывести переменную, чтобы к примеру скопировать туда файлы. Как, я понимаю, для перехода нужно добавить \ ?
|
Цитата:
Цитата OSArev
как из текстового файла прочитать в переменную. Ну, на пример, в тексте написано C:\Program Files\ля_ля\гу_гу
Как вывести переменную, чтобы к примеру скопировать туда файлы. Как, я понимаю, для перехода нужно добавить \ ? »
|
for /f
подробнее for /?
|
Цитата:
Цитата amel27
set "$TMP=C:\Program Files\The KMPlayer\Temp" »
|
В этом не особо силён, но на сколько я понял, на время сеанса, после запуска этого батника, временной папкой становится именно C:\Program Files\The KMPlayer\ Temp, что ни есть очень хорошо.
Я правильно мыслю?
|
El Sanchez |
04-02-2011 15:59 1604432 |
Цитата:
Цитата amel27
explorer /root,"C:\Program Files\The KMPlayer\Temp" »
|
Еще можно просто
Код:
start "" "C:\Program Files\The KMPlayer\Temp"
, дабы не плодить explorer.exe
Цитата:
Цитата aggressor_
чтобы можно было мышкой нажать окей »
|
В CMD окей показывает только MSG, наверное:
Код:
msg * /W "Очистить папку?"&&RD /S/Q "C:\Program Files\The KMPlayer\Temp" 2>nul
yurfed, нет. Системной переменной %TMP% в скрипте amel27 нет.
|
Цитата:
Цитата El Sanchez
дабы не плодить explorer.exe »
|
да он вроде сам не плодится... если только не запускать с ключом /separate
к сожалению, ни один из этих способов не поддерживает /WAIT (
|
Цитата:
Цитата amel27
к сожалению, ни один из этих способов не поддерживает /WAIT »
|
можно добавить MSG с ключем /W
|
aggressor_ |
04-02-2011 23:41 1604819 |
OSArev,
Код:
Set objShellApp = CreateObject("Shell.Application")
objShellApp.Open("C:\Program Files\The KMPlayer\Temp")
WScript.Sleep 500
result = MsgBox ("ВЫ ДЕЙСТВИТЕЛЬНО ХОТИТЕ УДАЛИТЬ ПАПКУ?", vbYesNo, "Удаление папки.")
Select Case result
Case vbYes
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.DeleteFolder "C:\Program Files\The KMPlayer\Temp"
WScript.Quit
Case vbNo
WScript.Quit
End Select
А можно подкорректировать, чтобы не папку удалял, а только содержимое?
|
Почитаем, спасибо...
Цитата:
Цитата aggressor_
А можно подкорректировать, чтобы не папку удалял, а только содержимое? »
|
у amel27: ,здесь есть очень интересный код для очистки папки.
http://forum.oszone.ru/post-1340319.html#post1340319
Подставь свой путь, воткни в исходный VBS, и всё ОК. Не ленись.
PS:amel27: - отдельное спасибо, мне,как раз подобного образца не хватало
|
aggressor_ |
05-02-2011 02:59 1604913 |
Лень тут совершенно ни причём. Безусловно, если я хоть немного понимал во всём этом, я бы не задавал эти вопросы...
Соединив два скрипта (твой и amel27) методом тыка получилось вот это:
Код:
Set objShellApp = CreateObject("Shell.Application")
objShellApp.Open("C:\123")
WScript.Sleep 500
result = MsgBox ("Вы действительно хотите удалить папку?", vbYesNo, "Удаление папки.")
Select Case result
Case vbYes
On Error Resume Next
Set objFSO = CreateObject("Scripting.FileSystemObject")
strFldr = "C:\123"
ClearFolder strFldr
Function ClearFolder(sFldr)
On Error Resume Next
Dim oD, cF, cD, oI
Set oD = objFSO.GetFolder(sFldr)
Set cF = oD.Files
Set cD = oD.SubFolders
For Each oI In cF
oI.Attributes = 0
oI.Delete
Next
For Each oI In cD
ClearFolder oI.Path
oI.Attributes = 0
oI.Delete
Next
End Function
WScript.Quit
Case vbNo
WScript.Quit
End Select
И самое удивительное, что работает!
|
Я рад, что у тебя получилось.Обращайся...
|
Время: 06:34.
© OSzone.net 2001-