![]() |
Необходимо сделать два батника,подскажите ошибки
Нужно создать батник,который копирует все файлы в расширении .txt ,кроме одного ,который задан в параметре %2,в директорию ,заданную параметром %1
Сделал вот такой Код:
@echo off И второе задание такое,что нужно написать пакетный файл, который автоматически удалял бы в каталоге, указанном в командной строке все файлы, размер которых превышает 2 Мбайт. Была идея сделать через сортировку по размеру в dir ,а потом в find,но дир просто по порядку их делает,там нельзя сделать так,чтобы файлы не удовлетворяющие размеру не показывались,поэтому пока не выходит.У одногруппника идея была,что нгужно создать переменную с размером,и сравнивать с ней,но мы так и не знаем как сделат ьпо уму P.S. Сделал первое,оказывается я тупой,нужно было писат ьв консоль не просто параметр имя файла,а имя с расширением |
Цитата:
Код:
@echo off |
2019 год, а все еще батникам в виндах учат :) Лучше б пошику учили.
"Батник" Код:
powershell -noprofile -command "dir -Path c:\temp -File | where {$_.Length -gt 2097152} | %{del $_.FullName -WhatIf}" |
Цитата:
Диалектика революции шелов, блин... ну, почти :) |
Цитата:
|
Цитата:
99% тем это "мне надо вот так, запилите чтоб я скопипастил и оно работало". |
на cmd тоже можно в одну строку:
Код:
@echo off |
Задание первое:
Код:
$parameter1 = "C:\Users\User\Documents" Код:
(dir "C:\temp").where{$_.Length -gt 2MB} |Remove-Item -Confirm:$false |
DJ Mogarych, вижу, что это:
Цитата:
Код:
Get-ChildItem -Path "C:\temp" |
Цитата:
|
Iska, про эту фишку я на прошлой неделе вычитал в книжке "PowerShell in Depth".
Where и foreach умеют быть методом, причём это работает быстрее, чем при передаче через пайп, как мы все привыкли. Сам не проверял быстродействие, но в книжке пользовались Measure-Command, разница в некоторых случаях в разы. Правильнее, конечно, писать .where({}), но в данном случае можно и без круглых скобок. |
alpap, это-то я знаю. Но точка… Как это понимать? Откуда такой синтаксис вместо:
Код:
Get-ChildItem -Path "C:\temp" | Where-Object -FilterScript {$_.Length -gt 2MB} DJ Mogarych, спасибо, ясно. Там были какие-то разъяснения, откуда сие взялось, и в каких случаях это «умеют» работает? Ага. Нашёл: Скрытый текст
Цитата:
и т.д. |
Цитата из книжки:
Цитата:
Код:
(Get-Process | sort Handles).Where({$_.Handles -gt 1000}, "SkipUntil", 1) |
А вот и разница проклюнулась:
Скрытый текст
Код:
Get-ChildItem -Path "C:\Мои проекты\0282" | Where-Object -FilterScript {$_.Length -gt 2MB} Цитата:
DJ Mogarych, да, спасибо, уже читаю. Плюс одна из первых ссылок выдачи (в открытом доступе): PowerShell V4: Where() and ForEach() Methods | Manning. |
|
Время: 04:35. |
Время: 04:35.
© OSzone.net 2001-