This commit is contained in:
2025-11-24 10:31:06 -07:00
parent 296738f5ed
commit 7639bd7d75
22 changed files with 235 additions and 163 deletions

View File

@@ -1,3 +1,9 @@
Version 0.1.3 - 2025-11-24
* Update some NuGet packages
* Update docs
* Minor changes
Version 0.1.2 - 2025-07-29
* Update repository info and related URLs

View File

@@ -1,5 +1,3 @@
# @Files2Folders2Files
### The Original Automated Files 2 Folders 2 Files
## Contributing
Let's work better together. We are looking to collaborate with like-minded people who want to contribute in any capacity. Collaboration is open to everyone and we need your help if you are a:
* Collector
@@ -17,9 +15,9 @@ Feel free to:
* Create an issue
* Branch your repository with the issue number and a meaningful name related to the changes you are making
* Create a pull request
## Contact
GitEmAll: [https://gitemall.devemall.int.eu.org/TommySalami/Files2Folders2Files](https://gitemall.devemall.int.eu.org/TommySalami/Files2Folders2Files "GitEmAll")
---
###### Copyright (c) 2016-2025 Files 2 Folders 2 Files - All Rights Reserved v2025-07-29-00
###### Copyright (c) 2016-2025 Files 2 Folders 2 Files - All Rights Reserved

View File

@@ -40,8 +40,8 @@
<Reference Include="Serilog.Sinks.Console, Version=4.1.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
<HintPath>..\packages\Serilog.Sinks.Console.4.1.0\lib\net45\Serilog.Sinks.Console.dll</HintPath>
</Reference>
<Reference Include="Serilog.Sinks.LogEmAll, Version=0.0.6.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Serilog.Sinks.LogEmAll.0.0.7\lib\net461\Serilog.Sinks.LogEmAll.dll</HintPath>
<Reference Include="Serilog.Sinks.LogEmAll, Version=0.0.8.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Serilog.Sinks.LogEmAll.0.0.8\lib\net461\Serilog.Sinks.LogEmAll.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />

View File

@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.1.2")]
[assembly: AssemblyFileVersion("0.1.2")]
[assembly: AssemblyVersion("0.1.3")]
[assembly: AssemblyFileVersion("0.1.3")]

View File

@@ -2,5 +2,5 @@
<packages>
<package id="Serilog" version="2.12.0" targetFramework="net48" />
<package id="Serilog.Sinks.Console" version="4.1.0" targetFramework="net48" />
<package id="Serilog.Sinks.LogEmAll" version="0.0.7" targetFramework="net48" />
<package id="Serilog.Sinks.LogEmAll" version="0.0.8" targetFramework="net48" />
</packages>

View File

@@ -54,8 +54,8 @@
<Reference Include="Serilog, Version=2.0.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
<HintPath>..\packages\Serilog.2.12.0\lib\net47\Serilog.dll</HintPath>
</Reference>
<Reference Include="Serilog.Sinks.LogEmAll, Version=0.0.6.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Serilog.Sinks.LogEmAll.0.0.7\lib\net461\Serilog.Sinks.LogEmAll.dll</HintPath>
<Reference Include="Serilog.Sinks.LogEmAll, Version=0.0.8.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Serilog.Sinks.LogEmAll.0.0.8\lib\net461\Serilog.Sinks.LogEmAll.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />

View File

@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.1.2")]
[assembly: AssemblyFileVersion("0.1.2")]
[assembly: AssemblyVersion("0.1.3")]
[assembly: AssemblyFileVersion("0.1.3")]

View File

@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Serilog" version="2.12.0" targetFramework="net48" />
<package id="Serilog.Sinks.LogEmAll" version="0.0.7" targetFramework="net48" />
<package id="Serilog.Sinks.LogEmAll" version="0.0.8" targetFramework="net48" />
</packages>

View File

@@ -700,7 +700,7 @@
{
"AssemblyRegister" = "3:1"
"AssemblyIsInGAC" = "11:FALSE"
"AssemblyAsmDisplayName" = "8:Files2Folders2Files, Version=0.1.1.0, Culture=neutral, processorArchitecture=MSIL"
"AssemblyAsmDisplayName" = "8:Files2Folders2Files, Version=0.1.2.0, Culture=neutral, processorArchitecture=MSIL"
"ScatterAssemblies"
{
"_72D55CE61DBB6A03240BE31F428C2052"
@@ -1062,15 +1062,15 @@
{
"Name" = "8:Microsoft Visual Studio"
"ProductName" = "8:Files 2 Folders 2 Files"
"ProductCode" = "8:{81FF6661-B919-45F6-ADE9-CD6B9F8729A7}"
"PackageCode" = "8:{825AD016-0C47-4889-A529-676774BB791F}"
"ProductCode" = "8:{D7FFDF0A-542A-45D7-99BD-BF3410AE3EC1}"
"PackageCode" = "8:{2B5C9263-D2FF-4F89-B70C-B14F565E4367}"
"UpgradeCode" = "8:{63159E6B-7503-42B8-AB06-D4AFFD4F8E4D}"
"AspNetVersion" = "8:4.0.30319.0"
"RestartWWWService" = "11:FALSE"
"RemovePreviousVersions" = "11:TRUE"
"DetectNewerInstalledVersion" = "11:TRUE"
"InstallAllUsers" = "11:FALSE"
"ProductVersion" = "8:0.1.2"
"ProductVersion" = "8:0.1.3"
"Manufacturer" = "8:Files 2 Folders 2 Files"
"ARPHELPTELEPHONE" = "8:"
"ARPHELPLINK" = "8:"

View File

@@ -1,118 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
<Import Project="..\packages\ILMerge.3.0.41\build\ILMerge.props" Condition="Exists('..\packages\ILMerge.3.0.41\build\ILMerge.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{68E72165-E8D2-4B40-8801-BC16D5D160AC}</ProjectGuid>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<OutputPath>bin\Debug\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<OutputPath>bin\Release\</OutputPath>
</PropertyGroup>
<ItemGroup>
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<ReleaseName>Files2Folders2Files</ReleaseName>
<ReleaseVersion>0.1.2</ReleaseVersion>
<ReleasePortableName>Files2Folders2Files-Portable</ReleasePortableName>
<ReleaseInstallerName>Files2Folders2Files-Installer</ReleaseInstallerName>
<ReleasePackageName>Files2Folders2Files-Package</ReleasePackageName>
<ReleaseSourceName>Files2Folders2Files-Source</ReleaseSourceName>
<ReleaseDLLName>Files2Folders2Files</ReleaseDLLName>
<ReleaseCLIName>Files2Folders2Files-CLI</ReleaseCLIName>
<ReleaseGUIName>Files2Folders2Files-GUI</ReleaseGUIName>
<PortableDir>$(OutputPath)Portable\</PortableDir>
<ILMergeDir>$(OutputPath)ILMerge\</ILMergeDir>
<PackageDir>$(OutputPath)Package</PackageDir>
<InstallerDir>$(OutputPath)Installer\</InstallerDir>
<SourceDir>$(OutputPath)Source\</SourceDir>
<ReleasesDir>$(OutputPath)Releases\</ReleasesDir>
</PropertyGroup>
<Target Name="Build">
<CallTarget Targets="Clean" />
<CallTarget Condition="$(Configuration) == 'Release'" Targets="CreateILMergeFiles" />
<CallTarget Targets="CreatePortableFiles" />
<CallTarget Targets="CreatePackageFiles" />
<CallTarget Targets="CreateInstallerFiles" />
<CallTarget Targets="CreateSourceFiles" />
<CallTarget Targets="CreateReleasesFiles" />
</Target>
<Target Name="Clean">
<RemoveDir Condition="$(Configuration) == 'Release'" Directories="$(ILMergeDir)" />
<MakeDir Condition="$(Configuration) == 'Release'" Directories="$(ILMergeDir)" />
<RemoveDir Directories="$(PortableDir)" />
<MakeDir Directories="$(PortableDir)" />
<RemoveDir Directories="$(PackageDir)" />
<MakeDir Directories="$(PackageDir)" />
<RemoveDir Directories="$(InstallerDir)" />
<MakeDir Directories="$(InstallerDir)" />
<RemoveDir Directories="$(SourceDir)" />
<MakeDir Directories="$(SourceDir)" />
<RemoveDir Directories="$(ReleasesDir)" />
<MakeDir Directories="$(ReleasesDir)" />
</Target>
<Target Name="CreateILMergeFiles">
<Exec Command="%22$(SolutionDir)packages\ILMerge.3.0.41\tools\net452\ILMerge.exe%22 /out:%22$(ILMergeDir)$(ReleaseCLIName).exe%22 %22$(SolutionDir)$(ReleaseCLIName)\bin\$(Configuration)\$(ReleaseCLIName).exe%22 %22$(SolutionDir)$(ReleaseCLIName)\bin\$(Configuration)\*.dll%22 /wildcards" />
<Exec Command="%22$(SolutionDir)packages\ILMerge.3.0.41\tools\net452\ILMerge.exe%22 /out:%22$(ILMergeDir)$(ReleaseGUIName).exe%22 %22$(SolutionDir)$(ReleaseGUIName)\bin\$(Configuration)\$(ReleaseGUIName).exe%22 %22$(SolutionDir)$(ReleaseGUIName)\bin\$(Configuration)\*.dll%22 /wildcards" />
</Target>
<Target Name="CreatePortableFiles">
<ItemGroup>
<MySourceBINs Condition="$(Configuration) == 'Debug'" Include="$(SolutionDir)$(ReleaseCLIName)\bin\$(Configuration)\**\*.*;$(SolutionDir)$(ReleaseGUIName)\bin\$(Configuration)\**\*.*;$(SolutionDir)$(ReleaseDLLName)\bin\$(Configuration)\**\*.*;" />
<MySourceBINs Condition="$(Configuration) == 'Release'" Include="$(ILMergeDir)\**\*.exe;" />
<MySourceBatches Include="$(SolutionDir)$(ReleaseCLIName)\Resources\Batches\**\*.*;" />
<MySourceBASHes Include="$(SolutionDir)$(ReleaseCLIName)\Resources\BASHes\**\*.*;" />
<MySourceDocs Include="$(SolutionDir)$(ReleaseDLLName)\Resources\Docs\**\*.txt;" />
<MySourceLogs Include="$(SolutionDir)$(ReleaseDLLName)\Resources\Logs\**\*.txt;" />
<MySourceOptions Include="$(SolutionDir)$(ReleaseDLLName)\Resources\Options\**\*.txt;" />
</ItemGroup>
<Copy SourceFiles="@(MySourceBINs)" DestinationFiles="@(MySourceBINs->'$(PortableDir)\%(RecursiveDir)%(Filename)%(Extension)')" />
<Copy SourceFiles="@(MySourceBatches)" DestinationFiles="@(MySourceBatches->'$(PortableDir)\Batches\%(RecursiveDir)%(Filename)%(Extension)')" />
<Copy SourceFiles="@(MySourceBASHes)" DestinationFiles="@(MySourceBASHes->'$(PortableDir)\BASHes\%(RecursiveDir)%(Filename)%(Extension)')" />
<Copy SourceFiles="@(MySourceDocs)" DestinationFiles="@(MySourceDocs->'$(PortableDir)\Docs\%(RecursiveDir)%(Filename)%(Extension)')" />
<Copy SourceFiles="@(MySourceLogs)" DestinationFiles="@(MySourceLogs->'$(PortableDir)\Logs\%(RecursiveDir)%(Filename)%(Extension)')" />
<Copy SourceFiles="@(MySourceOptions)" DestinationFiles="@(MySourceOptions->'$(PortableDir)\Options\%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>
<Target Name="CreatePackageFiles">
<Delete Files="$(PackageDir)$(ReleaseName).$(ReleaseVersion).nuget" />
<Exec Command="nuget pack %22$(SolutionDir)$(ReleaseDLLName)\$(ReleaseDLLName).csproj%22 -Properties Configuration=$(Configuration) -OutputDirectory $(PackageDir) -Version $(ReleaseVersion)" />
</Target>
<Target Name="CreateInstallerFiles">
<ItemGroup>
<MySourceInstallerFiles Condition="$(Configuration) == 'Debug'" Include="$(SolutionDir)$(ReleaseInstallerName)\bin\$(Configuration)\**\*.*" />
<MySourceInstallerFiles Condition="$(Configuration) == 'Release'" Include="$(SolutionDir)$(ReleaseInstallerName)\bin\$(Configuration)\**\*.*" />
</ItemGroup>
<Copy SourceFiles="@(MySourceInstallerFiles)" DestinationFiles="@(MySourceInstallerFiles->'$(InstallerDir)\%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>
<Target Name="CreateSourceFiles">
<ItemGroup>
<MySourceSourceFiles Include="$(SolutionDir)**\*;" Exclude="$(SolutionDir)**\obj\**\*.*;$(SolutionDir)**\bin\**\*.*;$(SolutionDir)**\misc\**\*.*;$(SolutionDir)**\packages\**\*.*;$(SolutionDir)**\.git\**\*.*;$(SolutionDir)**\.vs\**\*.*;" />
</ItemGroup>
<Copy SourceFiles="@(MySourceSourceFiles)" DestinationFiles="@(MySourceSourceFiles->'$(SourceDir)\%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>
<Target Name="CreateReleasesFiles">
<Delete Files="$(ReleasesDir)$(ReleasePortableName).$(ReleaseVersion).zip" />
<ZipDirectory SourceDirectory="$(PortableDir)" DestinationFile="$(ReleasesDir)$(ReleasePortableName).$(ReleaseVersion).zip" />
<Delete Files="$(ReleasesDir)$(ReleaseInstallerName).$(ReleaseVersion).zip" />
<ZipDirectory SourceDirectory="$(InstallerDir)" DestinationFile="$(ReleasesDir)$(ReleaseInstallerName).$(ReleaseVersion).zip" />
<Delete Files="$(ReleasesDir)$(ReleasePackageName).$(ReleaseVersion).zip" />
<ZipDirectory SourceDirectory="$(PackageDir)" DestinationFile="$(ReleasesDir)$(ReleasePackageName).$(ReleaseVersion).zip" />
<Delete Files="$(ReleasesDir)$(ReleaseSourceName).$(ReleaseVersion).zip" />
<ZipDirectory SourceDirectory="$(SourceDir)" DestinationFile="$(ReleasesDir)$(ReleaseSourceName).$(ReleaseVersion).zip" />
</Target>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\ILMerge.3.0.41\build\ILMerge.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\ILMerge.3.0.41\build\ILMerge.props'))" />
</Target>
<Import Project="..\packages\ILMerge.3.0.41\build\ILMerge.props" Condition="Exists('..\packages\ILMerge.3.0.41\build\ILMerge.props')" />
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{68E72165-E8D2-4B40-8801-BC16D5D160AC}</ProjectGuid>
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<OutputPath>bin\Debug\</OutputPath>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<OutputPath>bin\Release\</OutputPath>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<None Include="app.config" />
<None Include="packages.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<ReleaseName>Files2Folders2Files</ReleaseName>
<ReleaseVersion>0.1.3</ReleaseVersion>
<ReleasePortableName>Files2Folders2Files-Portable</ReleasePortableName>
<ReleaseInstallerName>Files2Folders2Files-Installer</ReleaseInstallerName>
<ReleasePackageName>Files2Folders2Files-Package</ReleasePackageName>
<ReleaseSourceName>Files2Folders2Files-Source</ReleaseSourceName>
<ReleaseDLLName>Files2Folders2Files</ReleaseDLLName>
<ReleaseCLIName>Files2Folders2Files-CLI</ReleaseCLIName>
<ReleaseGUIName>Files2Folders2Files-GUI</ReleaseGUIName>
<PortableDir>$(OutputPath)Portable\</PortableDir>
<ILMergeDir>$(OutputPath)ILMerge\</ILMergeDir>
<PackageDir>$(OutputPath)Package</PackageDir>
<InstallerDir>$(OutputPath)Installer\</InstallerDir>
<SourceDir>$(OutputPath)Source\</SourceDir>
<ReleasesDir>$(OutputPath)Releases\</ReleasesDir>
</PropertyGroup>
<Target Name="Build">
<CallTarget Targets="Clean" />
<CallTarget Condition="$(Configuration) == 'Release'" Targets="CreateILMergeFiles" />
<CallTarget Targets="CreatePortableFiles" />
<CallTarget Targets="CreatePackageFiles" />
<CallTarget Targets="CreateInstallerFiles" />
<CallTarget Targets="CreateSourceFiles" />
<CallTarget Targets="CreateReleasesFiles" />
</Target>
<Target Name="Clean">
<RemoveDir Condition="$(Configuration) == 'Release'" Directories="$(ILMergeDir)" />
<MakeDir Condition="$(Configuration) == 'Release'" Directories="$(ILMergeDir)" />
<RemoveDir Directories="$(PortableDir)" />
<MakeDir Directories="$(PortableDir)" />
<RemoveDir Directories="$(PackageDir)" />
<MakeDir Directories="$(PackageDir)" />
<RemoveDir Directories="$(InstallerDir)" />
<MakeDir Directories="$(InstallerDir)" />
<RemoveDir Directories="$(SourceDir)" />
<MakeDir Directories="$(SourceDir)" />
<RemoveDir Directories="$(ReleasesDir)" />
<MakeDir Directories="$(ReleasesDir)" />
</Target>
<Target Name="CreateILMergeFiles">
<Exec Command="%22$(SolutionDir)packages\ILMerge.3.0.41\tools\net452\ILMerge.exe%22 /out:%22$(ILMergeDir)$(ReleaseCLIName).exe%22 %22$(SolutionDir)$(ReleaseCLIName)\bin\$(Configuration)\$(ReleaseCLIName).exe%22 %22$(SolutionDir)$(ReleaseCLIName)\bin\$(Configuration)\*.dll%22 /wildcards" />
<Exec Command="%22$(SolutionDir)packages\ILMerge.3.0.41\tools\net452\ILMerge.exe%22 /out:%22$(ILMergeDir)$(ReleaseGUIName).exe%22 %22$(SolutionDir)$(ReleaseGUIName)\bin\$(Configuration)\$(ReleaseGUIName).exe%22 %22$(SolutionDir)$(ReleaseGUIName)\bin\$(Configuration)\*.dll%22 /wildcards" />
</Target>
<Target Name="CreatePortableFiles">
<ItemGroup>
<MySourceBINs Condition="$(Configuration) == 'Debug'" Include="$(SolutionDir)$(ReleaseCLIName)\bin\$(Configuration)\**\*.*;$(SolutionDir)$(ReleaseGUIName)\bin\$(Configuration)\**\*.*;$(SolutionDir)$(ReleaseDLLName)\bin\$(Configuration)\**\*.*;" />
<MySourceBINs Condition="$(Configuration) == 'Release'" Include="$(ILMergeDir)\**\*.exe;" />
<MySourceBatches Include="$(SolutionDir)$(ReleaseCLIName)\Resources\Batches\**\*.*;" />
<MySourceBASHes Include="$(SolutionDir)$(ReleaseCLIName)\Resources\BASHes\**\*.*;" />
<MySourceDocs Include="$(SolutionDir)$(ReleaseDLLName)\Resources\Docs\**\*.txt;" />
<MySourceLogs Include="$(SolutionDir)$(ReleaseDLLName)\Resources\Logs\**\*.txt;" />
<MySourceOptions Include="$(SolutionDir)$(ReleaseDLLName)\Resources\Options\**\*.txt;" />
</ItemGroup>
<Copy SourceFiles="@(MySourceBINs)" DestinationFiles="@(MySourceBINs->'$(PortableDir)\%(RecursiveDir)%(Filename)%(Extension)')" />
<Copy SourceFiles="@(MySourceBatches)" DestinationFiles="@(MySourceBatches->'$(PortableDir)\Batches\%(RecursiveDir)%(Filename)%(Extension)')" />
<Copy SourceFiles="@(MySourceBASHes)" DestinationFiles="@(MySourceBASHes->'$(PortableDir)\BASHes\%(RecursiveDir)%(Filename)%(Extension)')" />
<Copy SourceFiles="@(MySourceDocs)" DestinationFiles="@(MySourceDocs->'$(PortableDir)\Docs\%(RecursiveDir)%(Filename)%(Extension)')" />
<Copy SourceFiles="@(MySourceLogs)" DestinationFiles="@(MySourceLogs->'$(PortableDir)\Logs\%(RecursiveDir)%(Filename)%(Extension)')" />
<Copy SourceFiles="@(MySourceOptions)" DestinationFiles="@(MySourceOptions->'$(PortableDir)\Options\%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>
<Target Name="CreatePackageFiles">
<Delete Files="$(PackageDir)$(ReleaseName).$(ReleaseVersion).nuget" />
<Exec Command="nuget pack %22$(SolutionDir)$(ReleaseDLLName)\$(ReleaseDLLName).csproj%22 -Properties Configuration=$(Configuration) -OutputDirectory $(PackageDir) -Version $(ReleaseVersion)" />
</Target>
<Target Name="CreateInstallerFiles">
<ItemGroup>
<MySourceInstallerFiles Condition="$(Configuration) == 'Debug'" Include="$(SolutionDir)$(ReleaseInstallerName)\bin\$(Configuration)\**\*.*" />
<MySourceInstallerFiles Condition="$(Configuration) == 'Release'" Include="$(SolutionDir)$(ReleaseInstallerName)\bin\$(Configuration)\**\*.*" />
</ItemGroup>
<Copy SourceFiles="@(MySourceInstallerFiles)" DestinationFiles="@(MySourceInstallerFiles->'$(InstallerDir)\%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>
<Target Name="CreateSourceFiles">
<ItemGroup>
<MySourceSourceFiles Include="$(SolutionDir)**\*;" Exclude="$(SolutionDir)**\obj\**\*.*;$(SolutionDir)**\bin\**\*.*;$(SolutionDir)**\misc\**\*.*;$(SolutionDir)**\packages\**\*.*;$(SolutionDir)**\.git\**\*.*;$(SolutionDir)**\.vs\**\*.*;" />
</ItemGroup>
<Copy SourceFiles="@(MySourceSourceFiles)" DestinationFiles="@(MySourceSourceFiles->'$(SourceDir)\%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>
<Target Name="CreateReleasesFiles">
<Delete Files="$(ReleasesDir)$(ReleasePortableName).$(ReleaseVersion).zip" />
<ZipDirectory SourceDirectory="$(PortableDir)" DestinationFile="$(ReleasesDir)$(ReleasePortableName).$(ReleaseVersion).zip" />
<Delete Files="$(ReleasesDir)$(ReleaseInstallerName).$(ReleaseVersion).zip" />
<ZipDirectory SourceDirectory="$(InstallerDir)" DestinationFile="$(ReleasesDir)$(ReleaseInstallerName).$(ReleaseVersion).zip" />
<Delete Files="$(ReleasesDir)$(ReleasePackageName).$(ReleaseVersion).zip" />
<ZipDirectory SourceDirectory="$(PackageDir)" DestinationFile="$(ReleasesDir)$(ReleasePackageName).$(ReleaseVersion).zip" />
<Delete Files="$(ReleasesDir)$(ReleaseSourceName).$(ReleaseVersion).zip" />
<ZipDirectory SourceDirectory="$(SourceDir)" DestinationFile="$(ReleasesDir)$(ReleaseSourceName).$(ReleaseVersion).zip" />
</Target>
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
</PropertyGroup>
<Error Condition="!Exists('..\packages\ILMerge.3.0.41\build\ILMerge.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\ILMerge.3.0.41\build\ILMerge.props'))" />
</Target>
</Project>

View File

@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup></configuration>

View File

@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="ILMerge" version="3.0.41" targetFramework="net40" />
<package id="ILMerge" version="3.0.41" targetFramework="net40" requireReinstallation="true" />
</packages>

View File

@@ -16,12 +16,15 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Files2Folders2Files-Release
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{BC5B21C7-3C27-4456-B5A4-39C00EF25B4F}"
ProjectSection(SolutionItems) = preProject
.gitattributes = .gitattributes
.gitignore = .gitignore
CHANGELOG.md = CHANGELOG.md
CODE_OF_CONDUCT.md = CODE_OF_CONDUCT.md
CONTRIBUTING.md = CONTRIBUTING.md
LICENSE = LICENSE
README.md = README.md
TODO.md = TODO.md
screenshot1.png = screenshot1.png
screenshot2.png = screenshot2.png
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Files2Folders2Files", "Files2Folders2Files\Files2Folders2Files.csproj", "{CBAD4D51-B8D5-4F07-8C71-B152F284FDF2}"

View File

@@ -44,8 +44,8 @@
<Reference Include="Serilog.Sinks.Console, Version=4.1.0.0, Culture=neutral, PublicKeyToken=24c2f752a8e58a10, processorArchitecture=MSIL">
<HintPath>..\packages\Serilog.Sinks.Console.4.1.0\lib\net45\Serilog.Sinks.Console.dll</HintPath>
</Reference>
<Reference Include="Serilog.Sinks.LogEmAll, Version=0.0.6.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Serilog.Sinks.LogEmAll.0.0.7\lib\net461\Serilog.Sinks.LogEmAll.dll</HintPath>
<Reference Include="Serilog.Sinks.LogEmAll, Version=0.0.8.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Serilog.Sinks.LogEmAll.0.0.8\lib\net461\Serilog.Sinks.LogEmAll.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
@@ -71,6 +71,7 @@
<ItemGroup>
<None Include="Files2Folders2Files.snk" />
<None Include="packages.config" />
<None Include="Resources\Docs\Files2Folders2Files-HELP.md" />
<None Include="Resources\Docs\Files2Folders2Files-LICENSE.rtf" />
</ItemGroup>
<ItemGroup />

View File

@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.1.2")]
[assembly: AssemblyFileVersion("0.1.2")]
[assembly: AssemblyVersion("0.1.3")]
[assembly: AssemblyFileVersion("0.1.3")]

View File

@@ -0,0 +1,38 @@
# @Files2Folders2Files
### The Original Automated Files 2 Folders 2 Files
## About
Files 2 Folders 2 Files, or F2F2F is the original automated files to folders and folders to files converter. This is useful for converting back and forth between organizing your Gamecube games for playing them on a modded Wii and organizing them for sharing.
## Features
* Files 2 Folders - Moves all the files from a single directory into folders of matching names
* Folders 2 Files - Moves all the files from all the folders into a single directory
## Requirements
This software has been tested and verified working on Windows, Linux and Mac using .NET or Mono.
## Installation
Download and unzip the software to any new location that you wish to use. However, this software should be installed as close to the drive's root directory as possible.
## Contributing
Let's work better together. We are looking to collaborate with like-minded people who want to contribute in any capacity. Collaboration is open to everyone and we need your help if you are a:
* Collector
* Database Administrator
* Datter
* Developer
* Dumper
* Graphic Artist
* Translator
* Player
* Tester
Feel free to:
* Fork the repository
* Branch your repository with a meaningful name related to the changes you are making
* Create a pull request
## Contact
GitEmAll: [https://gitemall.devemall.int.eu.org/TommySalami/Files2Folders2Files](https://gitemall.devemall.int.eu.org/TommySalami/Files2Folders2Files "GitEmAll")
---
###### Copyright (c) 2016-2025 Files 2 Folders 2 Files - All Rights Reserved

View File

@@ -1,23 +1,35 @@
---------------------------------------------------------------
Files 2 Folders 2 Files - Help version 20250729
Files 2 Folders 2 Files - Help version 20251124
Copyright (c) 2016-2025 Files 2 Folders 2 Files
All Rights Reserved
---------------------------------------------------------------
[I] About
[II] Contributing
[III] Contact
[IV] Disclaimer
[II] Features
[III] Requirements
[IV] Installation
[V] Contributing
[VI] Contact
[I] About
---------------------------------------------------------------
Files 2 Folders 2 Files, or F2F2F is the original automated files to folders and folders to files converter. This is useful for converting back and forth between organizing your Gamecube games for playing them on a modded Wii and organizing them for sharing.
[II] Features
---------------------------------------------------------------
Files 2 Folders 2 Files can perform the following tasks:
* Files 2 Folders - Moves all the files from a single directory into folders of matching names.
* Folders 2 Files - Moves all the files from all the folders into a single directory.
[II] Contributing
[III] Requirements
---------------------------------------------------------------
This software has been tested and verified working on Windows, Linux and Mac using .NET or Mono.
[IV] Installation
---------------------------------------------------------------
Download and unzip the software to any new location that you wish to use. However, this software should be installed as close to the drive's root directory as possible.
[V] Contributing
---------------------------------------------------------------
Let's work better together. We are looking to collaborate with like-minded people who want to contribute in any capacity. Collaboration is open to everyone and we need your help if you are a:
* Collector
@@ -35,10 +47,6 @@ Feel free to:
* Branch your repository with a meaningful name related to the changes you are making
* Create a pull request
[III] Contact
[VI] Contact
---------------------------------------------------------------
GitEmAll: https://gitemall.devemall.int.eu.org/TommySalami/Files2Folders2Files
[IV] Disclaimer
---------------------------------------------------------------
This software may only be used and/or distributed in accordance with the license with which it is distributed.

View File

@@ -2,5 +2,5 @@
<packages>
<package id="Serilog" version="2.12.0" targetFramework="net48" />
<package id="Serilog.Sinks.Console" version="4.1.0" targetFramework="net48" />
<package id="Serilog.Sinks.LogEmAll" version="0.0.7" targetFramework="net48" />
<package id="Serilog.Sinks.LogEmAll" version="0.0.8" targetFramework="net48" />
</packages>

View File

@@ -1,22 +1,37 @@
# @Files2Folders2Files
### The Original Automated Files 2 Folders 2 Files
## About
Files 2 Folders 2 Files, or F2F2F is the original automated files to folders and folders to files converter. This is useful for converting back and forth between organizing your Gamecube games for playing them on a modded Wii and organizing them for sharing.
Files 2 Folders 2 Files can perform the following tasks:
* Files 2 Folders - Moves all the files from a single directory into folders of matching names.
* Folders 2 Files - Moves all the files from all the folders into a single directory.
## Features
* Files 2 Folders - Moves all the files from a single directory into folders of matching names
* Folders 2 Files - Moves all the files from all the folders into a single directory
## Screenshots
![DownloadEmAll Screenshot 1](screenshot1.png?raw=true "DownloadEmAll Screenshot 1")
![DownloadEmAll Screenshot 2](screenshot2.png?raw=true "DownloadEmAll Screenshot 2")
## Dependencies
.NET Framework 4.8
The following frameworks and SDKs are required to develop and build this app:
* .NET Framework 4.8 or Mono compatible
The following tools, extensions and external programs are required to be installed:
The following NuGet Packages are required to develop and build this app:
* ILMerge
* Serilog
* Serilog.Sinks.Console
* Serilog.Sinks.LogEmAll
The following tools and extensions are required to develop and build this app:
* Microsoft Visual Studio Installer Projects
## Projects
* Files2Folders2Files - Class Library
* Files2Folders2Files-CLI - Console App
* Files2Folders2Files-GUI - Windows Forms App
* Files2Folders2Files-Installer - Installer Project
* Files2Folders2Files-Release - Release Project
## Contributing
Let's work better together. We are looking to collaborate with like-minded people who want to contribute in any capacity. Collaboration is open to everyone and we need your help if you are a:
* Collector
@@ -37,6 +52,6 @@ Feel free to:
## Contact
GitEmAll: [https://gitemall.devemall.int.eu.org/TommySalami/Files2Folders2Files](https://gitemall.devemall.int.eu.org/TommySalami/Files2Folders2Files "GitEmAll")
---
###### Copyright (c) 2016-2025 Files 2 Folders 2 Files - All Rights Reserved v2025-07-29-00
###### Copyright (c) 2016-2025 Files 2 Folders 2 Files - All Rights Reserved

View File

@@ -1,5 +0,0 @@
### To Do
* Nothing to do
### Completed Tasks
* Develop initial release

BIN
screenshot1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
screenshot2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB