В общем есть скрипт:
@Echo off
rd /S /Q "C:\Users\%username%\Desktop\*"
rd /S /Q "C:\Users\%username%\Download\*"
del %Temp%\*.* /S /F /Q
del c:\windows\temp\*.* /S /F /Q
Проблема в том, что нужно каким то образом избежать удаление ярлыков на рабочем столе. Есть профи которые могут помочь? Спасибо.
Системное администрирование
Исключение при удалении файлов в .bat
В батнике исключений не бывает!
Грохай все как есть или по списку))
Пиши правильные пути https://en.wikipedia.org/wiki/Environment_variable
Грохай все как есть или по списку))
Пиши правильные пути https://en.wikipedia.org/wiki/Environment_variable
Исключения есть в powershell, это уже другой уровень, но явно не лишний
Виктор Никитин
А как же ???
for /r C:\!TEST\ %%i in (*.*) do if not %%~xi==.lnk del %%i
1) Как это называется ?
2) Вы не поняли что он имел ввиду удалить все кроме lnk ?
Просто вот реально не догоняю, почему ты и другой ответили что исключений не бывает место того чтобы решить проблему человека.
for /r C:\!TEST\ %%i in (*.*) do if not %%~xi==.lnk del %%i
1) Как это называется ?
2) Вы не поняли что он имел ввиду удалить все кроме lnk ?
Просто вот реально не догоняю, почему ты и другой ответили что исключений не бывает место того чтобы решить проблему человека.
Варианты
1 - переместить временно ярлыки в другую временную папку. Удалить всё, вернуть обратно
2 - поставить атрибут у ярлыков readonly, удалять все кроме RO
см команду attrib
3 - удалять с помощью цикла for вроде этого (ключи к del добавьте сами какие нужны)
for /r C:\!TEST\ %%i in (*.*) do if not %%~xi==.lnk del %%i
4 - использовать vbs/jscript/powershell
Choose your destiny =)
Кст напомню, что на рабочем столе ещё есть скрытый системный файлик desktop.ini
Лучше его не трогать =)
1 - переместить временно ярлыки в другую временную папку. Удалить всё, вернуть обратно
2 - поставить атрибут у ярлыков readonly, удалять все кроме RO
см команду attrib
3 - удалять с помощью цикла for вроде этого (ключи к del добавьте сами какие нужны)
for /r C:\!TEST\ %%i in (*.*) do if not %%~xi==.lnk del %%i
4 - использовать vbs/jscript/powershell
Choose your destiny =)
Кст напомню, что на рабочем столе ещё есть скрытый системный файлик desktop.ini
Лучше его не трогать =)
Виктор Никитин
я первйы ответил !!! ахахахах.
Только не говори что я там неправ !
Только не говори что я там неправ !
Виктор Никитин
Да ты правда гений с аттрибутом догадался я бы не догадался, но и все таки я первый ответил ахахах.
Александр Сергеевич
Спасибо)
Виктор Никитин
Да кстати вот ты красавчик норм ответил человеку !
Остальные исключений в бат нету бл* ахахаха с*ка.
Умничают нет бы просто ответить.
Остальные исключений в бат нету бл* ахахаха с*ка.
Умничают нет бы просто ответить.
у норм это воходит
На счет исключений я думаю и в батнике все как в обычных языках программирования !.
Чтобы сделать исключения тебе нужно получать имена каждых файлов и смотреть есть ли там .lnk а по другому никак.
Это долгий код легче скопировать и вставить обратно.
Точнее вот две строки
copy C:\Users\%username%\Desktop\*.lnk C:\templnk\
copy C:\templnk\** C:\Users\%username%\Desktop\
Я их написал неправильно но если написать правильно работать будет!
1) Сначала скопировать файлы .lnk ярлыки
2) Удалить все файлы
3) Скопировать файлы обратно
Других вариантов пока не вижу если только думать очень долго да и то не думаю что найду.
А так хотел ответить быстро и вариант точно рабочий !
Но лишнее действие копирование файлов
Но оно должно занимать не более 5 секунд. может и 1.
Исключения !
copy C:\Users\%username%\Desktop\*.lnk C:\templnk\
rd /S /Q "C:\Users\%username%\Desktop\*"
copy C:\templnk\** C:\Users\%username%\Desktop\
rd /S /Q "C:\Users\%username%\Download\*"
del %Temp%\*.* /S /F /Q
del c:\windows\temp\*.* /S /F /Q
Чтобы сделать исключения тебе нужно получать имена каждых файлов и смотреть есть ли там .lnk а по другому никак.
Это долгий код легче скопировать и вставить обратно.
Точнее вот две строки
copy C:\Users\%username%\Desktop\*.lnk C:\templnk\
copy C:\templnk\** C:\Users\%username%\Desktop\
Я их написал неправильно но если написать правильно работать будет!
1) Сначала скопировать файлы .lnk ярлыки
2) Удалить все файлы
3) Скопировать файлы обратно
Других вариантов пока не вижу если только думать очень долго да и то не думаю что найду.
А так хотел ответить быстро и вариант точно рабочий !
Но лишнее действие копирование файлов
Но оно должно занимать не более 5 секунд. может и 1.
Исключения !
copy C:\Users\%username%\Desktop\*.lnk C:\templnk\
rd /S /Q "C:\Users\%username%\Desktop\*"
copy C:\templnk\** C:\Users\%username%\Desktop\
rd /S /Q "C:\Users\%username%\Download\*"
del %Temp%\*.* /S /F /Q
del c:\windows\temp\*.* /S /F /Q
Александр Сергеевич
Огромное спасибо))
Похожие вопросы
- Где найти .bat файл на оптимизацию Windows ?
- Подкиньте пожалуйста список команд для батника ( файл. bat).
- Как запустить с помощью команды Windows 10 (cmd, bat), графический интерфейс?
- Компьютер не покаывает файлы рhр какая программа отвечает windows 10
- Временные файлы виндовс 10 сами удаляются, или нет? Пришло обновление и нагадило!
- Систематизация файлов на компьютере
- Какая самая лучшая файловая система и CMS для работы с файлами и большими архивами?
- Командный файл в cmd
- Команда "timeout" bat.
- Как восстановить файлы на внешнем жестком диске?
for /r C:\!TEST\ %%i in (*.*) do if not %%~xi==.lnk del %%i
1) Как это называется ?
2) Вы не поняли что он имел ввиду удалить все кроме lnk ?
Просто вот реально не догоняю, почему ты и другой ответили что исключений не бывает место того чтобы решить проблему человека.