Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов

Ответить
 • Просмотры: 8
Аватара пользователя
DENoszone

Re: Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов

Сообщение DENoszone »

вопрос:

можно ли способамии C++\c# запустить окошко сообщения на комп, на этот же.
Аватара пользователя
DENoszone

Re: Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов

Сообщение DENoszone »

amel27,
Цитата amel27:



Но тут есть одна проблема - при удалении/создании каталога сбрасываются NTFS-права, поэтому если быть совсем правильным, то нужно восстанавливать ACL, назначенный каталогу при установке системы (при помощи CACLS или XCACLS).
Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов




, а теперь как для полного чайника поподробнее пожалуйста и если можно простой пример или готовую реализацию ...
Аватара пользователя
truvo

Re: Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов

Сообщение truvo »

amel27, я не понял ваш совет. Есть исходный батник, который мне нужно переделать для своих нужд. Он выглядит так:



Код:

Код: Выделить всё

@echo off 
echo Opera Internet Browser Silent Setup  
start /wait Opera_951_in_Setup.exe /S /V"/passive /norestart ALLUSERS=1 DESKTOP_ICON=1 CREATE_QUICKLAUNCH_ICON=1 CREATE_STARTMENU_ICONS=1 MULTI_USER_SETTING=1 INSTALLER_LANGUAGE=ru" 
echo End Of Opera Setup
echo Opera Browser Forced Settings 
REM путь к сохраненным настройкам Оперы 
; set OperaBackupLocation=d:\backup\opera 
; xcopy "%OperaBackupLocation%" "%ProgramFiles%\Opera\profile" /s /i /Y /h /R

В моем случае сам батник, инсталлятор Opera - файл Opera_951_in_Setup.exe, и папка profile c сохраненными настройками браузера - находятся в папке c названием, допустим, XYZ.

Сам каталог XYZ может располагаться где угодно - на флэшке, например, буква которой на разных компах может меняться. Я хочу, чтобы батник отрабатывался в любом случае. И что на что мне поменять в тексте?
Аватара пользователя
Dr.Dark

Re: Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов

Сообщение Dr.Dark »

Люди в папке \root лежит батник и есть подпапка \Directori в которой лежит файл File.txt. как скопировать его с помощью xcopy из \root\Directori в \root\.

Пишу xcopy \Directori\File.txt на что cmd отвечает ФАЙЛ НЕНАЙДЕН.

Помогите плиз.



Задал вопрос неподумавши вот ответ вместо xcopy \Directori\File.txt надо xcopy .\Directori\File.txt
Аватара пользователя
amel27

Re: Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов

Сообщение amel27 »

amel27, а может просто папке темп поменять так права чтобы она ни при каких обстоятельствах не удалялась ... а удалялось лишь то что в ней ...




Цитата amel27:



ИМХО достаточно двух команд (ATTRIB необязателен для RD):
Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов




, лично мне казалось что это для команды

Код:

Код: Выделить всё

DEL "%systemroot%\Temp\*.*" /S /Q

и еще одно так для общего развития будет ли работать в таком виде:





Код:

Код: Выделить всё

If Not Exist "%systemroot%\Temp" MD "%systemroot%\Temp"
Аватара пользователя
truvo

Re: Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов

Сообщение truvo »

Цитата zeroua:



круто чем мой вариант плох ??? и зачем это делать ? на нем и так куча прав например для того чтобы там появился вирус или еще чтото
Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов




Могу только догадываться о причинах, по которым даны именно такие права, а не другие - к примеру, на TEMP имеет права учетка SYSTEM, под которой обычно работают службы... после пересоздания она теряет свои права (в группу "Администраторы" она не входит). Насчет вирусов... ИМХО дефолтовые права тоже не ламеры рисовали, добавление права равно как и его удаление должно быть всегда обосновано. Вот ремейк твоего варианта, оптимизированный по скорости выполнения и без удаления TEMP:

Код:

Код: Выделить всё

PUSHD %SystemRoot%\Temp
For /F %%i In ('DIR /B /A:D *') Do RD /Q /S %%i
ATTRIB -R -S -H *
DEL /F /Q *
POPD


Цитата zeroua:



может просто папке темп поменять так права чтобы она ни при каких обстоятельствах не удалялась ... а удалялось лишь то что в ней
Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов




есть идея получше - открыть папку TEMP и вызвать RD, тогда все содержимое будет удалено кроме самой TEMP (будет выдана ошибка доступа):

Код:

Код: Выделить всё

PUSHD %SystemRoot%\Temp
RD /S /Q %SystemRoot%\Temp >Nul 2>&1
POPD


Цитата zeroua:



будет ли работать в таком виде
Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов




будет, поскольку пробелов в имени нет я кавычки опустил
Аватара пользователя
DENoszone

Re: Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов

Сообщение DENoszone »

Как послать сообщение на свойже комп не зная какой ип. и ипа вообще может не быть.
Аватара пользователя
ShaddyR

Re: Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов

Сообщение ShaddyR »

Почему для очистки папки TEMP все упорно указывают на %SystemRoot% и никто не подумал что переменные среды могут быть изменены самим пользователем?



Например папка TEMP может находится и в корне системного диска %SYSTEMDRIVE% (ди и вообще -где угодно).

Для начала неплохо бы выяснить переменную среду для временной папки, а уж потом удалять.



Забыли про переменную %USERPROFILE%\Local Settings\Temp которая так же, может быть изменена.



Может лучше как-то так %TEMP% или так %TMP%?



TEMP (системная) и ТМР (локальная) - Возвращает временные папки, по умолчанию используемые приложениями, которые доступны пользователям, выполнившим вход в систему. Некоторые приложения требуют переменную TEMP, другие — переменную TMP. Потенциально TEMP и TMP могут указывать на разные каталоги, но обычно - совпадают.
Аватара пользователя
DENoszone

Re: Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов

Сообщение DENoszone »

Цитата zeroua:



для начала я знаю что я делаю
Любой язык - [архив] Нужна помощь в написании BAT | CMD | VBS | WSH файлов




флаг тебе в руки, делай.



Сам я не специалист по написанию батников, но было предложено выйти при написании из разряда "Для себя любимого" в разряд -"Для всех".



Вычищает TEMP локального пользователя



Код:

Код: Выделить всё

PUSHD %temp%
RD /S /Q %temp% >Nul 2>&1
POPD
Ответить

Вернуться в «Скриптовые языки администрирования Windows»