Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: При попытке изменить и сохранить содержимое файла hosts не хватает прав

При попытке изменить содержимое файла и сохранить его выходит ошибка "Отсутствует доступ к файлу.Запросите
разрешение от "система" на выполнение этой операции".
Удалить или перезаписать файл (измененный и сохраненный по другому пути) система также не дает.
1. Проверила куреитом ПК, все ок.
2. Захожу в систему под пользователем User с правами администратора (всего одна учетная запись).
3. Через Свойства -Безопасность ситуация следующая: Система, Администраторы имеют полный доступ, Пользователи имеют права на чтение и выполнение. При попытке изменить разрешения для Пользователей кнопки "Добавить", "Удалить", "Разрешить" неактивны.
В дополнительных параметрах безопасности текущим владельцем объекта является система. При попытке изменить владельца на текущего пользователя (User) выходит ошибка "У вас есть разрешение только на просмотр текущего владельца".
4. запуск батника (attrib -r %WINDIR%\system32\drivers\etc\hosts) не помогает.
5. Попытка изменить права доступа с помощью cacls также завершается ошибкой (отсутствуют права доступа)
6. Отключила контроль учетных записей, пыталась исправить файл hosts в безопасном режиме - ошибка та же.
Очень прошу Вашей помощи, господа!!!
Ответ: Можно попробовать запуститься с загрузочной флешки типа LiveCD, удалить файл hosts, затем снова загрузить Windows и создать его заново (если система еще не сделала этого за вас). Ну это точно dr.Web начудил, потому что у меня была аналогичная ситуация и тогда виновником оказался именно dr.Web
Вопрос: Параметры сортировки команды SORT

Нашел на форуме вот что:
Команда sort выполняет сортировку по алфавиту текстового файла или выхода команды. Например, следующая команда сортирует содержимое файла List.txt и отображает результаты в окне командной строки:
sort < list.txt
В этом примере команда sort сортирует строки файла List.txt в алфавитном порядке и выводит результат на экран без изменения файла. Для сохранения результатов работы команды sort (вместо их отображения) введите символ «больше» (>) и имя файла. Например, следующую команду можно использовать для алфавитной сортировки строк файла List.txt и сохранения результатов в файле Alphlist.txt:
sort < list.txt > alphlist.txt
Для сортировки вывода команды следует ввести команду, затем символ канала (|) и команду sort (команда | sort). Например, следующая команда сортирует в алфавитном порядке строки, которые содержат слово "Jones" (вывод команды find):
find "Jones" maillst.txt | sort
Сортирует по алфавиту, а мне нужно вот как:
  1. Знаки в порядке ASCII кода
  2. Цифры в порядке возрастания значения целого числа
  3. Буквы русского алфавита (сначала строчные, потом прописные)
  4. Буквы латинского алфавита (сначала строчные, потом прописные)

Такое можно сделать?
Ответ: мучительно.
поиск по классам символов и перенаправление в соответств. файл
затем слить все эти файлы в желательном порядке
Windows Batch file
1
2
3
4
5
6
sort my_file | findstr "[-,.=+!@#$%%^^^&*()_+^>^<?/\\]" > PUNCT
sort my_file | findstr "[0-9]" > DIGITS
sort my_file | findstr "[A-z]" > LATIN
sort my_file | findstr /V "[A-z]-,.=+!@#$%%^^^&*()_+^>^<?/\\0-9A-z]" > RUSSIAN
 
for /f %%x in ( PUNCT DIGITS RUSSIAN LATIN ) do echo %%x > SORTED
Вопрос: Изменение содержимого файла hosts

Возможно ли с помощью cmd-файла изменить содержимое файла Hosts, в частности добавление в него нескольких строк (адресов).
Вариант перенесения другого(исправленного) файла с помощью команды "Replase" не подойдёт, нужно именно редактирование оригинального файла

Добавлено через 22 минуты
Находил вот такой вот синтаксис:
Bash
1
2
>c:\windows\system32\drivers\hosts (
Echo # Copyright c 1993-2009 Microsoft Corp.
Ну и так далее пока всё содержимое нужное не запишешь, но почему то не вышло(
Ответ: можно код глянуть одним глазом?
Вопрос: Содержимое файла в telegram

Доброго времени суток, нужно содержимое файла отправлять в телеграм.
С горем пополам нашел в просторах интернета вроде бы подходящие мне команды, но столкнулся с проблемами.
1) Отправляет только последнюю строку файла
2) При наличии русских букв ругается "{"ok":false,"error_code":400,"description":"Bad Request: message text must be encoded in UTF-8"}"

Windows Batch file
1
2
3
4
@echo off
setlocal EnableDelayedExpansion
for /f %%x in (log.txt) do set logfile=%%x
curl -s -X POST [url]https://api.telegram.org/bot[/url][BOTAPI]/sendMessage -F chat_id=[CHATID] -F text=%logfile%
Ответ: А лучше, я думаю, сделать так:
Windows Batch file
3
for /f %%x in (log.txt) do set logfile=!logfile! %%x
Вопрос: Переписать построчно содержимое файла, начиная с последней строки и заканчивая первой

Есть input.txt, с содержимым например:
Code
1
2
3
4
111
222
333
444
Есть output.txt

Нужно из input.txt перенести строки в output.txt в обратном порядке:
Code
1
2
3
4
444
333
222
111
Я бы сделал что то вроде этого:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
@echo off
 
set input=input.txt
set output=output.txt
 
setlocal enabledelayedexpansion
 
for /f "tokens=*" %%S in (!input!) do (
set string=%%S!string!
)
 
echo.!string!>!output!
Но как сохранить перенос строки?
Ответ:
Сообщение от iCCupPlatoon
Дайте мне большой файл, и я скажу за сколько он выполнится
Вы наверно никогда не работали с файлами в миллионы строк, иначе был знали, что время их обработки на bat
+-∞.
Сообщение от Доктор Зойдберг
Но хочется всегда идеализма.
Чтобы и больше 10 миллионов и меньше строк)
Никогда не поздно узнать, что на windows (не старее win 7) существуют инструменты работающие в N-раз производительнее, нежели cmd.

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<# :
  @echo off
   pushd "%~dp0"
   powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -command ^
     "&{[ScriptBlock]::Create((cat '%~f0') -join [Char]10).Invoke(@(&{$args}%*))}"
  exit /b
#>
 
Param (
[string]$filein,
[string]$fileout
) 
 
Add-Type @'
using System;
using System.Text;
using System.Linq;
using System.IO;
 
namespace Sharp {
    public class Words{
        public static void Reverse(string[] args){  
            var words = File.ReadLines(args[0], Encoding.Default);
                var words2 = words.Reverse();
                    File.WriteAllLines(args[1], words2, Encoding.Default);
                        words=null;words2=null;
        }
    }
}
'@
# старт замера времени
$startTiks = [DateTime]::Now.Ticks
 
[Sharp.Words]::Reverse(@($filein, $fileout))                # содержимое файла $filein: 2 937 113 строк
([TimeSpan]([DateTime]::Now.Ticks - $startTiks)).ToString() # время выполнения=>00:00:02.6700037 sec
Запускать из cmd:
Code
1
reverse.bat 1.txt 1_out.txt
Вопрос: Поиск по содержимому файла

Windows 8 не ищет по содержимому файлов *.C, *.CPP и т.п. По содержимому *.txt все норм.
Кто знает как решить проблему?
Ответ: Я ожидал, что после импорта будет:
Код Code
1
2
3
4
[HKEY_CLASSES_ROOT\.cpp]
@="txtfile"
"Content Type"="text/plain"
"PerceivedType"="text"
А осталось тоже самое, что было раньше:
Код Code
1
2
3
4
[HKEY_CLASSES_ROOT\.cpp]
@="VisualStudio.cpp.10.0"
"Content Type"="text/plain"
"PerceivedType"="text"
Вопрос: Вывести содержимое файла на экран

Добрый вечер. Если есть возможность уделить мне время, то помогите, пожалуйста. Необходимо написать командный файл, который выдает на экран содержимое файла, имя которого задается как параметр при запуске командного файла. При этом анализируется - введен ли параметр. Если параметр не введен, то выдается сообщение и прекращается выполнение командного файла. Вместе с этим определяется - существует ли заданный файл.
Понимаю, делать для другого человека что-то не особо приятно, особенно если он не понимает и никогда этого не делал (это я о себе). Но может найдется, кто сможет объяснить. Если не написать готовый командный файл, то хотя бы направить в нужном направлении.
Ответ:
Сообщение от osen'
@echo off
chcp 437
privet.txt
if not defined %0 (
cls
echo parametr ne vveden
pause
)
D:
cd TEXT
cls
TYPE privet.txt
echo.
pause
Кажется, у меня получилось=)
К сожалению, нет
надо:
Код Windows Batch file
1
2
3
4
5
6
7
8
9
10
@echo off
chcp 1251 >nul
set temp="Параметр не введён"
chcp 866 >nul
if "%1"=="" (
echo "%temp%"
)
cls
type "%1"
pause
Вопрос: Содержимое файла превратилось в множество символов #

Файл формата docx. Eсли открывать файл в Libre Office то есть 500+ страниц с символом #. А если вордом, то сразу сообщение об ошибках содержимого. Файл лежал в файловом хранилище, и после очередной правки почему-то определился встроенным антивирусом файлохранилища как зараженный. Мы его не стали удалять, просто переместили в другую директорию. В итоге он перестал открываться. Пробовал:
- кодировать из docx в odt нет результата
- открывать вордом с параметром "Восстановить текст из любого файла"
- восстанавливать онлайн
- через прогу восстановления word файлов

Куда копать?
Ответ: Да, пробовал запускать на winxp, w7, linux
Вопрос: Написать bat-файл, выдающий содержимое файлов с расширением txt из текущего каталога на устройстве с: на экран

в) Написать bat-файл, выдающий содержимое файлов с расширением txt из текущего каталога на устройстве с: на экран.
Ответ: Вот.
Рассказывайте преподу что происходит
Windows Batch file
1
2
3
4
5
6
7
@echo off
set "d=C:\papka"
pushd "%d%" && (
 for /f "tokens=1*" %%a in ('"cmd/v/c for /f "delims^=" %%a in ('2^^^>nul dir/a-d/b "*.txt"') do @echo !random! %%a|sort"') do type "%%b"
)
popd
pause>nul

Не по теме:

(совсем обнаглели эти стеденты)

Вопрос: Антивирус AVIRA: пропала из контекстного меню проводника команда "сканировать файл"

Проблема с авирой: пропала из контекстного меню проводника команда "сканировать файл".
Как ее можно восстановить без переустановки??
Ответ: установкой поверх