Подскажите код по файлам

Регистрация
13.04.2016
Сообщения
660
Реакции
53
Баллы
28
Привет всем!
Подскажите кому не сложно кусок кода по перемещению файлов на компе с одного места в другое:
от сюда:
{-Project.Directory-}webp\{-Variable.thumbnail-}
сюда:
{-Project.Directory-}site\{-Variable.random-}\{-Variable.thumbnail-}

спасибо!
 
А кубиками почему не хотите?
 
Как-то так
C#:
Развернуть Свернуть Копировать
//Помещаем в переменную путь к файлу
string strFilePath = project.Directory + @"\webp\" + project.Variables["thumbnail"].Value;
//Помещаем в переменную путь к папке, в которую будет перемещён файл
string strTargetFolder = project.Directory + @"\site\" + project.Variables["random"].Value;
//File.Move: перемещаем файл в папку strTargetFolder (с тем же именем)
File.Move(strFilePath, strTargetFolder + new FileInfo(strFilePath).Name);
 
  • Спасибо
Реакции: Анатолий
Как-то так
C#:
Развернуть Свернуть Копировать
//Помещаем в переменную путь к файлу
string strFilePath = project.Directory + @"\webp\" + project.Variables["thumbnail"].Value;
//Помещаем в переменную путь к папке, в которую будет перемещён файл
string strTargetFolder = project.Directory + @"\site\" + project.Variables["random"].Value;
//File.Move: перемещаем файл в папку strTargetFolder (с тем же именем)
File.Move(strFilePath, strTargetFolder + new FileInfo(strFilePath).Name);

огромное спасибо!!!
 
такая фигня получается)))
79a03a3496.jpg
 
Если правильно понял, то нужно сначала создать папку random. Вот так работает.
 

Вложения

  • Test.rar
    Test.rar
    182,2 KB · Просмотры: 133
  • Спасибо
Реакции: Анатолий
Если правильно понял, то нужно сначала создать папку random. Вот так работает.
нет, это рандомное число 1-100, файлов очень много, потому хочу их разбить на папки, далее просто запросы в БД...
но чтобы не грузить последовательно файлы на сервер, просто сохранить всё на компе и позже перекинуть файлы через winscp...
 
походу у меня на компе какой то косяк, просто не пойму какой, вчера установил последнюю зенку 7 версии, ошибка та же...
 
нет, это рандомное число 1-100, файлов очень много, потому хочу их разбить на папки, далее просто запросы в БД...
но чтобы не грузить последовательно файлы на сервер, просто сохранить всё на компе и позже перекинуть файлы через winscp...
Да, я имел в виду создать папку с рандомным значением.
 
  • Спасибо
Реакции: Анатолий
Да, я имел в виду создать папку с рандомным значением.
Счастье то какое!!! Работает, от всей души благодарю!!!
если прописать прямой путь к файлу всё работало и создавало автоматом новую папку, если в переменной лежал сам файл, по нифига не создавалась рандомная папка и от сюда в результате ошибка...
похоже у меня мозгов не хватило до этого додуматься)))
 
Да, я имел в виду создать папку с рандомным значением.


могли бы помочь переименовать файл в этой же папке?


{-Project.Directory-}site\{-Variable.random-}\{-Variable.thumbnail-}
на
{-Project.Directory-}site\{-Variable.random-}\{-Variable.new_thumbnail-}
 
при копировании файла в новую папку с новым именем та же ошибка, при перемещении файла внутри папки с новым именем та же ошибка... не везёт мне с файлами)))

171c7e29ea.jpg
 
при копировании файла в новую папку с новым именем та же ошибка, при перемещении файла внутри папки с новым именем та же ошибка... не везёт мне с файлами)))

Посмотреть вложение 86430
\ пропустил перед site
тебе в коде даже написали @"\site\"
с тьюбов превьюшки грабишь? )
 
могли бы помочь переименовать файл в этой же папке?


{-Project.Directory-}site\{-Variable.random-}\{-Variable.thumbnail-}
на
{-Project.Directory-}site\{-Variable.random-}\{-Variable.new_thumbnail-}
В директиве Using и общий код прописываешь в конце

C#:
Развернуть Свернуть Копировать
namespace System.IO
{
    public static class FileInfoExtensions
    {
        public static void Rename(this FileInfo fileInfo, string newName)
        {
            fileInfo.MoveTo(Path.Combine(fileInfo.Directory.FullName, newName));
        }
    }
}

В кубике C# прописываешь
C#:
Развернуть Свернуть Копировать
//Присваиваем переменной путь к создаваемой папке
string strDirectoryPath = project.Directory + @"\site\" + project.Variables["random"].Value + @"\" + project.Variables["thumbnail"].Value;

// Рандом от 1 до 100 для файла
Random rndFile = Global.Classes.rnd;
int intRandomNumber = 0;
lock(rndFile)
{
    
    intRandomNumber = rndFile.Next(1, 100);
}

// Переименование
FileInfo file = new FileInfo(strDirectoryPath);
file.Rename(intRandomNumber + ".png"); // Подставить свое расширение
 

Вложения

  • 1.png
    1.png
    68,7 KB · Просмотры: 142
вот впринципе та же ошибка, using прописал...

91d862b352.jpg


я заранее просто создал 100 пустых папок чтобы в них ложить файлы, вашим кодом уже получается закинуть файл в рандомную папку, но если пытаюсь закинуть с переименованием - та же ошибка что сверху, перемещением внутри папки та же ошибка...
т.е. в итоге получил путь с файлом:

{-Project.Directory-}site\{-Variable.random-}\{-Variable.thumbnail-}
его бы просто переименовать так:
{-Project.Directory-}site\{-Variable.random-}\{-Variable.new_thumbnail-}
 
Я же понял так: что файл уже есть в рандомной папке и его нужно переименовать. Или же нужно файл переместить просто с другим именем
 
а версию зенки никто и не спросит. :bk:
директива @ не работает в старых версиях зенки, а код так и пестрит ею. но это я вангую, так то я хз что там :cd:
 
а версию зенки никто и не спросит. :bk:
директива @ не работает в старых версиях зенки, а код так и пестрит ею. но это я вангую, так то я хз что там :cd:
Пора от пятерки отказатся, устаревший софт.
 
а версию зенки никто и не спросит. :bk:
директива @ не работает в старых версиях зенки, а код так и пестрит ею. но это я вангую, так то я хз что там :cd:
у меня пятая последняя, новее нет. 7-я тоже последняя, но ошибки те же, просто привык к пятой, 7-я для меня мамонта не особо удобна, просто не привык к ней, да и не часто работаю с зенкой.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)