Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Логгирование операций с файлами

Ответить
Настройки темы
PowerShell - Логгирование операций с файлами

Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здраствуйте, уважаемые!
У меня такой вопрос возник и не могу решить уже долгое время. Просто до банальщины: переносим скрипт из Линукса на Виндовс. Для этого я выбрал Powershell, не зная ещё какая загвоздка меня ждёт. Значит копирую я файлы по маске таким скриптом:
$codes = "001","002","004"
Foreach ($d in $codes)
{Copy-Item .\[Aa]*.$d -Destination $d\}
Как мне прологгировать эти операции в файл, чтобы в логе получилось что-то вроде
Files $filename was copied from $sourcename to $destname at hh:mm:ss dd-mm-yyyy.
на каждый скопированный объект?

Отправлено: 15:38, 19-02-2009

 
D_Master


Сообщения: n/a

Профиль | Цитировать


samael82, а почему бы не на CMD?
Код: Выделить весь код
@echo off
set log=log.txt
For %%I In ("C:\1\*.*") Do (
    Copy %%I C:\2\*.* > nul
    Echo File %%I was copied from C:\1 to C:\2 at %time% %date%>>%log%
 )

Отправлено: 17:10, 19-02-2009 | #2



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Отправить PM | Цитировать


Потому что у меня десяток масок вида [Aa]*.$d, $d.err и т.п., и каждый файл должен попасть в папку, заданную в $d
(то есть ааа.001 в папку 001, а 002.err в 002). Ни о каких *.* речь не идёт.
Если ты сможешь написать ТАКОЕ на шелле, то давай обсудим, я сам хотел поначалу да резко обломался

Отправлено: 17:28, 19-02-2009 | #3


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата samael82:
давай обсудим »
если в имени только ASCII можно попробовать, измененный вариант D_Master'а:
Код: Выделить весь код
@Echo Off

Set $log=log.txt
Set $codes=001,002,004

For %%a In (%$codes%) Do (
    For /F "Delims=" %%i In ('DIR /B /A:-D .\*^|FindStr /BRC:"[aA]*\.%%a"') Do (
        If Not Exist %%a\ MD %%a\
        Copy "%%i" %%a\ > nul
        Echo File "%%~nxi" was copied from "%%~dpi" to "%%a\" at %time% %date%>>%$log%
    )
)

Отправлено: 05:20, 20-02-2009 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Логгирование операций с файлами

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
MSFT SQL Server - ISA 2004 Std + SQL Server 2000 SP4 Логгирование Delirium Программирование и базы данных 7 31-07-2009 20:47
[решено] Как сделать так, чтобы текст формы появлялся по мере выполнения операций? D_Master AutoIt 7 17-01-2009 13:21
Система - Слежение за файлами Den13V Программное обеспечение Windows 0 31-10-2008 15:04
При включении Сис.Бл. горит желтая лампочка, но операций не происходит. wisp. Непонятные проблемы с Железом 6 11-07-2008 17:46
Win98 тормозит после операций перемещения Avast Microsoft Windows 95/98/Me (архив) 1 23-07-2007 01:57




 
Переход