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

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

Ответить
Настройки темы
PowerShell - [решено] скопировать заданный файл из одного каталога в другой с другим именем

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


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

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


Здравствуйте! Начали работать в PowerShell, преподаватель задал выполнить следующее:

В зависимости от запроса в интерактивном режиме выбирается один из нескольких вариантов действий. Всю информацию, не заданную конкретными значениями, передавать через параметры при вызове командного файла. Предусмотреть реакцию на ошибочные ситуации (отсутствие нужных файлов или присутствие вновь создаваемых).

Само задание:
В зависимости от запроса
- скопировать заданный файл из одного каталога в другой с другим именем;

Помогите разобраться...пожалуйста
Заранее большое спасибо

Отправлено: 16:41, 27-09-2011

 

Ветеран


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

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


Oleg2011, думаю, начать стоит с этого.

Отправлено: 17:57, 27-09-2011 | #2



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

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


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


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

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


var fso = new ActiveXObject("Scripting.FileSystemObject");

if (fso.FolderExists("C:\\TEST"))
WScript.Echo("Такая папка уже существует");
else

var Folder = fso.CreateFolder("C:\\TEST");
if (fso.FolderExists("C:\\TEST2"))
WScript.Echo("Такая папка уже существует");
else

var Folder = fso.CreateFolder("C:\\TEST2");

if (fso.FileExists("C:\\TEST\\test.txt"))
WScript.Echo("Такой файл уже существует");
else

var File = fso.CreateTextFile("C:\\TEST\\test.txt", true);

Создала две папки и файл. Вот не получается скопировать файл из первой папки во вторую ((

Отправлено: 14:06, 29-09-2011 | #3


Ветеран


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

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


Так Вам нужен PowerShell или JScript/WSH?!

Отправлено: 16:58, 29-09-2011 | #4


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


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

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


PowerShell !!! Я вот только на JScript/WSH начал что-то понимать, а как сделать в PowerShell не знаю.

Отправлено: 13:34, 04-10-2011 | #5


Ветеран


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

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


Для копирования объектов используйте Copy-Item (подробнее в Get-help Copy-Item) ,существует ли объет - используйте Test-Path ( подробнее get-help test-path). Справку по if можно получить - get-help about_if.

Отправлено: 14:00, 04-10-2011 | #6


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


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

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


Спасибо.
А по поводу второго задания можете подсказать какие команды использовать:
из файла с указанным именем заданного каталога, содержащим записи вида: название книги, количество экземпляров, ФИО автора, год издания, выбрать записи с указанным названием и выдать их на экран с указанием порядковых номеров записей.

Отправлено: 18:47, 04-10-2011 | #7


Ветеран


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

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


Для этого потребуется Import-Csv (сохранить файл в кодировке Unicode).

Для примера:

books.csv

Код: Выделить весь код
название книги, количество экземпляров, ФИО автора, год издания
Война и мир,50,Толстой Лев Николаевич,1869
капитанская дочка,10,Пушкин Александр Сергеевич,1937
Краденое солнце,5,Чуковский Корней Иванович,2011
Выберем книги,где есть слово солнце.

Код: Выделить весь код
$i=1
$books = Import-Csv books.csv | select *,@{n="Index";e={($global:i++)}}
$books | where {$_."название книги" -match "солнце"}

Пример вывода:


Код: Выделить весь код
PS >  Import-Csv books.csv

название книги                количество экземпляров        ФИО автора                    год издания
--------------                ----------------------        ----------                    -----------
Война и мир                   50                            Толстой Лев Николаевич        1869
капитанская дочка             10                            Пушкин Александр Сергеевич    1937
Краденое солнце               5                             Чуковский Корней Иванович     2011

#Добавим индекс
PS >  $books


название книги         : Война и мир
количество экземпляров : 50
ФИО автора             : Толстой Лев Николаевич
год издания            : 1869
Index                  : 1

название книги         : капитанская дочка
количество экземпляров : 10
ФИО автора             : Пушкин Александр Сергеевич
год издания            : 1937
Index                  : 2

название книги         : Краденое солнце
количество экземпляров : 5
ФИО автора             : Чуковский Корней Иванович
год издания            : 2011
Index                  : 3

PS >  $books | where {$_."название книги" -match "солнце"}


название книги         : Краденое солнце
количество экземпляров : 5
ФИО автора             : Чуковский Корней Иванович
год издания            : 2011
Index                  : 3
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:18, 04-10-2011 | #8


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


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

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


Спасибо большое

Отправлено: 10:13, 05-10-2011 | #9


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


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

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


Здравствуйте, начал выполнять задание - скопировать заданный файл из одного каталога в другой
получается так

function fcopy($a) {
$cnt = 0;
foreach ($i in $a) {
$cnt++;
if ($i -eq "-f") {
break;
}
}
if (!$f) {
$f = Read-Host "Введите имя копируемого файла";
}
if (!$d) {
$d = Read-Host "Введите имя папки, где находится копируемый файл";

}
if (!$l) {
$l = Read-Host "Введите имя папки,в которую скопировать файл";
}

как мне использовать Copy-Item -path ? не могу разобраться...
path прописываю путь
$p = "" + $d + "/" + $f;
Помогите....

Отправлено: 17:15, 06-10-2011 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Доступ - [решено] Подключение сетевого диска под другим именем khs Microsoft Windows 2000/XP 6 03-10-2019 12:53
CMD/BAT - [решено] Создать подкаталоги, и скопировать файлы из корневого каталога по подкаталогам. grinsen Скриптовые языки администрирования Windows 2 18-11-2010 13:48
7 / 2008 R2 - [решено] WSIM Файл каталога для образа создан другой версией.. ded-mazay Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista 1 25-07-2010 17:02
Возвращение ПК в домен под другим именем El Scorpio Microsoft Windows NT/2000/2003 2 06-08-2008 09:45
восстановление excel-файла, затертого другим файлом с тем же именем XPurple Хочу все знать 4 03-01-2006 13:47




 
Переход