![]() |
скопировать заданный файл из одного каталога в другой с другим именем
Здравствуйте! Начали работать в PowerShell, преподаватель задал выполнить следующее:
В зависимости от запроса в интерактивном режиме выбирается один из нескольких вариантов действий. Всю информацию, не заданную конкретными значениями, передавать через параметры при вызове командного файла. Предусмотреть реакцию на ошибочные ситуации (отсутствие нужных файлов или присутствие вновь создаваемых). Само задание: В зависимости от запроса - скопировать заданный файл из одного каталога в другой с другим именем; Помогите разобраться...пожалуйста Заранее большое спасибо |
Oleg2011, думаю, начать стоит с этого.
|
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); Создала две папки и файл. Вот не получается скопировать файл из первой папки во вторую (( |
Так Вам нужен PowerShell или JScript/WSH?!
|
PowerShell !!! Я вот только на JScript/WSH начал что-то понимать, а как сделать в PowerShell не знаю.
|
Для копирования объектов используйте Copy-Item (подробнее в Get-help Copy-Item) ,существует ли объет - используйте Test-Path ( подробнее get-help test-path). Справку по if можно получить - get-help about_if.
|
Спасибо.
А по поводу второго задания можете подсказать какие команды использовать: из файла с указанным именем заданного каталога, содержащим записи вида: название книги, количество экземпляров, ФИО автора, год издания, выбрать записи с указанным названием и выдать их на экран с указанием порядковых номеров записей. |
Для этого потребуется Import-Csv (сохранить файл в кодировке Unicode).
Для примера: books.csv Код:
название книги, количество экземпляров, ФИО автора, год издания Код:
$i=1 Пример вывода: Код:
PS > Import-Csv books.csv |
Спасибо большое
|
Здравствуйте, начал выполнять задание - скопировать заданный файл из одного каталога в другой
получается так 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; Помогите.... |
Не понятно зачем такие сложности.
Copy-Item -Path C:\file.txt -Destination D:\Test\ |
да, спасибо.
а как мне сделать, чтобы файл скопировался в каталог с другим именем... нам просто нужно чтобы мы сами вводили имя файла, каталога, вот мой код function fdelete($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 "Введите имя папки,в которую скопировать файл"; } $p = "" + $d + "/" + $f; if (Test-Path $p) { Copy-Item -path $p -destination $l -recurse write "Файл скопирован $p" } else { write "Файл не найден $p" } return; } всё работает, только как переименовать файл? как вставить Rename-Item в мой код |
чисто интеллектуально думаю стоит добавить типа строчки
"Введите имя нового файл"; |
Все Разобрался!!!
|
Здравствуйте, обращаюсь еще раз за помощью. По поводу второй задачи.
- из файла с указанным именем заданного каталога, содержащим записи вида: название книги, количество экземпляров, ФИО автора, год издания, выбрать записи с указанным названием и выдать их на экран с указанием порядковых номеров записей. Была предложена идея Import-Csv (сохранить файл в кодировке Unicode). Преподаватель сказал все данные записать и сохранить в Блокноте. теперь возникла проблема написания скрипта, чтобы выбрать записи с указанным названием и выдать их на экран с указанием порядковых номеров записей. Помогите разобраться! Спасибо. |
С помощью Get-Content я обращаюсь к содержимому файла. Как мне выбрать записи с указанным названием?
|
Использовать Select-String,match и любой другой метод для поиска.
(Gc file.txt) -match "Текст" Select-String file.txt -Pattern "Text" |
Спасибо! а теперь как мне выдать их на экран с указанием порядковых номеров записей???
|
Как я показывал уже выше.
|
Так что-то непонятно: select *,@{n="Index";e={($global:i++)}}
|
Пример вашего файла приведите и причем ,что вы хотите получить.
|
Время: 19:27. |
Время: 19:27.
© OSzone.net 2001-