Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах 7

Автор: Pacho
Дата сообщения: 13.01.2010 13:40
Craager

Код: net stop spooler && net start spooler
Автор: Craager
Дата сообщения: 13.01.2010 14:56
Pacho
Спасибо! А пауза между остановкой и запуском не нужна?
Автор: maa78s
Дата сообщения: 13.01.2010 15:25
Всем привет!
Подскажите, пожалуйста, как мне организовать вывод в лог те имена файлов, которые находятся и в папке A и в папке B, т.е. проверку только по совпанению имен в двух папках.
Сколько не пытаюсь сделать, не получается, ибо не силен в батниках )
У меня в коде это сейчас прописано как:

pushd "%Target%\"
pushd "%Source%\"
FOR /f "tokens=*" %%a IN ('dir /b /a-d') DO (
copy "%%~dpnxa" "%Target%\"
If Exist "%%a" (Echo %%a>>%~dp0log.txt)
)

тут он выводит имена всех файлов с копируемой папки, а как вывести только совпадающие имена, не получается.
Подскажите, как правильно сделать.
Автор: Pacho
Дата сообщения: 13.01.2010 15:26
Craager
Пожалуй, так будет лучше:

Код: net stop spooler & net start spooler
Автор: bormant
Дата сообщения: 13.01.2010 16:10
maa78s,

Цитата:
как мне организовать вывод в лог те имена файлов, которые находятся и в папке A и в папке B, т.е. проверку только по совпанению имен в двух папках
Проверять нужно ДО копирования...

Код: for %%f in ("%source%\*") do (
if exist "%target%\%%~nxf" echo %%~ff >>%~dp0log.txt
copy "%%f" "%target%\"
)
Автор: Craager
Дата сообщения: 13.01.2010 16:32
Pacho
Спасибо! Теперь понятно всё.
Автор: wolf0425
Дата сообщения: 13.01.2010 16:38

Цитата:
а почему б не хранить один предыдущий?
какого один то? полсотни разных, сгенеренных из разных источников по списку проверки изменений.
один то и хранил бы, чего мудрить то.
Автор: maa78s
Дата сообщения: 13.01.2010 17:16
bormant
Спасибо, работает.
Автор: Pacho
Дата сообщения: 13.01.2010 17:32
Есть ли возможность перенести базу файлов с одного диска на другой, сохранив жёсткие ссылки?
Есть мысль утилитой HLScan сохранить лог-файл с информацией о файлах, связанных жесткими ссылками. Перенести все файлы на другой диск через файловый менеджер (естественно, жёсткие ссылки будут потеряны), а затем удалить лишние файлы, заменив их жёсткими ссылками, используя информацию из лога.
HLScan создаёт лог вида:
[more]
Код: WARNING !! you don't have the BACKUP privilege,
you may not have access to some files or directories

Hard Links Report for \\COMPUTER
Report Time: 01/13/2010 17:29:57
Scanned Areas: f:\


Hard Links Found in f:\ (recursive search):


ID: 0x1000000000268 - Hard Links Count: 2 - Missing: 0
Creation Time: 07/04/2009 20:50:52
Last Access Time: 07/04/2009 20:50:52
<Имя\файла\1>
<Имя\файла\2>


ID: 0x10000000027f4 - Hard Links Count: 3 - Missing: 0
Creation Time: 07/05/2009 13:03:50
Last Access Time: 07/05/2009 13:03:50
<Имя\файла\1>
<Имя\файла\2>
<Имя\файла\3>
Автор: mugil_cephalus
Дата сообщения: 13.01.2010 18:38
Pacho
посм. fsutil hardlink
или diskpart
Автор: Pacho
Дата сообщения: 13.01.2010 19:28
mugil_cephalus
У меня проблема с обработкой лог-файла. Вот в логе есть:
Код: ID: 0x1000000000268 - Hard Links Count: 2 - Missing: 0
Creation Time: 07/04/2009 20:50:52
Last Access Time: 07/04/2009 20:50:52
<F:\Имя\файла\1>
<F:\Имя\файла\2>


ID: 0x10000000027f4 - Hard Links Count: 3 - Missing: 0
Creation Time: 07/05/2009 13:03:50
Last Access Time: 07/05/2009 13:03:50
<F:\Имя\файла\1>
<F:\Имя\файла\2>
<F:\Имя\файла\3>
Автор: king_stiven
Дата сообщения: 13.01.2010 19:53
Pacho
Сформулируй задачу на примере одного файла. База файлов- это по русски папка с файлами?
Автор: Pacho
Дата сообщения: 13.01.2010 20:41

Цитата:
папка с файлами?

Да, папка, в которой 88059 файлов и 232 жёстких ссылки.

Цитата:
Сформулируй задачу на примере одного файла.

Есть 2 файла, связанные жёсткой ссылкой:
F:\Имя\файла\1
F:\Имя\файла\2
Переношу их на другой диск (жёсткая ссылка разрушается):
G:\Имя\файла\1
G:\Имя\файла\2
Теперь надо удалить один из файлов и вместо него создать жёсткую ссылку. Пример лога с именами файлов, связанных ссылками, выше.
Автор: BVV63
Дата сообщения: 14.01.2010 06:43
Pacho

Цитата:
DEL с ключём /f удаляет файлы только для чтения

Del с ключём /f удалит файлы, ВКЛЮЧАЯ те, что только для чтения.

Цитата:
Кстати, как удалить файл, независимо от атрибутов?

К примеру, используя команду attrib предварительно снять аттрибуты.
Автор: zepterman
Дата сообщения: 14.01.2010 16:23
Хочу сделать bat, который бы подключал сетевой диск и запускал определенный ярлык и второй bat, который бы убивал процесс и отключал сетевой диск.
При этом желательно, чтобы при выполнение первого .bat файла логин был введен нужно будет ввести пароль.

Пробую так не получается:

1 файл

Код:
net use S: \\192.168.1.111\ /user:domain\admin
start "" 1.exe
Автор: Kirillhome
Дата сообщения: 14.01.2010 18:30
zepterman
1)
net use S: \\192.168.1.111\Имя_шары /user:domain\admin

2)
net use S: /DELETE

(читаем NET USE /?)
Автор: Mr_Hat
Дата сообщения: 14.01.2010 19:18
zepterman
net use \\comp\test

итог

Состояние Локальный Удаленный Сеть

-------------------------------------------------------------------------------
OK \\192.168.88.131\test Microsoft Windows Network

только странно почему он не появляется в папке мой компьютер
Автор: BorlandIMHO
Дата сообщения: 14.01.2010 20:21

Цитата:
странно почему он не появляется в папке мой компьютер

Что ж тут странного?
В "My Computer" появляются исключительно "замапленные" (с назначением буквы) сетевые диски...
Автор: Mr_Hat
Дата сообщения: 14.01.2010 20:31

Цитата:
В "My Computer" появляются исключительно "замапленные" (с назначением буквы) сетевые диски...

а как это сделать с помошью командной строки ?
Автор: BorlandIMHO
Дата сообщения: 14.01.2010 20:44
элементарно
Цитата:
net use \\comp\test

->net use z: \\comp\test
Автор: Mr_Hat
Дата сообщения: 14.01.2010 21:32
BorlandIMHO
хм..
лог - команда net use z: \\comp\test -> Не найден сетевой путь.
Автор: zepterman
Дата сообщения: 14.01.2010 21:37
>только странно почему он не появляется в папке мой компьютер
+1

>лог - команда net use z: \\comp\test -> Не найден сетевой путь.
+1

>net use S: /DELETE
работает
Автор: Kirillhome
Дата сообщения: 14.01.2010 21:57
Mr_Hat
zepterman

Цитата:
лог - команда net use z: \\comp\test -> Не найден сетевой путь.

Значит, у компььютера \\comp нет сетевого (расшаренного) ресурса test
Можно попытаться посмотреть сетевые ресурсы через net view \\comp
Автор: tails80486
Дата сообщения: 14.01.2010 21:59
@echo off
set k1=%RANDOM:~-1%
echo step 1
pause
if %k1% EQL 0 goto k1
echo %k1%
echo step 2
pause
if %k1% GTR 6 goto k1
echo %k1%

данный скрипт должен по идее проверять что бы сгенерированное число было больше нуля но не более шести, однако не работает
Автор: king_stiven
Дата сообщения: 14.01.2010 22:44
tails80486
if "%k1%"=="0"
Автор: ZanyGamer
Дата сообщения: 14.01.2010 23:34
А как открыть файл, который назван по русски История версий.txt
Если в батнике пишу История_версий.txt - запускается История_версий.txt, а вот если просто пробел - не воспринимает дальше слова История и пишет файл 'История' не найден!
Может знает как можно пробел поставить, чтобы батник его воспринял?

Код: start История версий.txt
Автор: tails80486
Дата сообщения: 14.01.2010 23:46
start "История версий.txt"
Автор: ZanyGamer
Дата сообщения: 15.01.2010 00:50

Цитата:
start "История версий.txt"

не выходит =\
Автор: wolf0425
Дата сообщения: 15.01.2010 00:52
tails80486

Цитата:
if %k1% EQL 0 goto k1
данный скрипт должен по идее проверять что бы сгенерированное число было больше нуля но не более шести, однако не работает
правильно пишется if %k1% EQU 0 goto k1
претензии - к переводчикам мелкомягких, самому - читать английские хэлпы

Добавлено:

Цитата:
start "История версий.txt"
не выходит =\
и не должно, первый параметр в кавычках - это имя окна
start "" "История версий.txt"
Автор: ZanyGamer
Дата сообщения: 15.01.2010 12:45
wolf0425, во! Другое дело! Большое спасибо!

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778

Предыдущая тема: во вкладке автозагрузка


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.