文件服务器到 SharePoint Online:文件夹到文档库结构差异工具?
File server to SharePoint Online: folder to document library structure diff tool?
您是否知道是否有任何一种工具(如果是免费的就太酷了)可以比较文件服务器中文件夹的文件结构与 SharePoint Online 文档库并告诉您不同之处?
重点是我们正在处理部分迁移到 SharePoint Online 的文件服务器,并且我们不知道某些文件夹的迁移状态。我们已经有了第 3 方迁移工具来完成迁移,但我们需要知道哪些内容仍待上传。有什么想法吗?
提前致谢。
我们使用共享门进行迁移。在你的情况下,我可能只是 运行 小部分的迁移,并将其设置为 "skip existing"。不过,这并不能直接回答您的问题。
在你的情况下,我会将文件服务器和 SharePoint 在线实例映射为计算机上的驱动器(使用 WebDAV),然后用你最喜欢的语言组合一个应用程序来比较这两个目录结构。
这里有一个 java 程序可以做到这一点:
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
public class Launcher {
static PrintWriter fileOut;
public static void main(String[] args) throws IOException {
File fileStore = new File("N:\"); //filestore dir top level
File sp = new File("M:\");//sp directory top level (mapped)
File out = new File("C:\Temp\results.txt");
fileOut = new PrintWriter(out);
recurse(fileStore, sp);
fileOut.close();
}
private static void recurse(File dir1, File dir2)
{
File [] dirFiles;
if(dir2 == null)
dirFiles = new File[0];
else
dirFiles=dir2.listFiles();
File match;
for(File f1 : dir1.listFiles())
{
System.out.println(f1.getAbsolutePath());
match=null;
for(File f2:dirFiles)
if(f1.getName().equalsIgnoreCase(f2.getName()))
match=f2;
if(f1.isDirectory() && f1.canRead())
try{
recurse(f1,match);
}
catch(Exception e){}
else if (match == null)
fileOut.write(f1.getAbsolutePath()+"\r\n");
}
}
}
它将不在第二个目录结构中的每个文件写入给定的文本文件。
您可以 运行 在像 eclipse 这样的 IDE 中使用此代码。
您是否知道是否有任何一种工具(如果是免费的就太酷了)可以比较文件服务器中文件夹的文件结构与 SharePoint Online 文档库并告诉您不同之处?
重点是我们正在处理部分迁移到 SharePoint Online 的文件服务器,并且我们不知道某些文件夹的迁移状态。我们已经有了第 3 方迁移工具来完成迁移,但我们需要知道哪些内容仍待上传。有什么想法吗?
提前致谢。
我们使用共享门进行迁移。在你的情况下,我可能只是 运行 小部分的迁移,并将其设置为 "skip existing"。不过,这并不能直接回答您的问题。
在你的情况下,我会将文件服务器和 SharePoint 在线实例映射为计算机上的驱动器(使用 WebDAV),然后用你最喜欢的语言组合一个应用程序来比较这两个目录结构。
这里有一个 java 程序可以做到这一点:
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
public class Launcher {
static PrintWriter fileOut;
public static void main(String[] args) throws IOException {
File fileStore = new File("N:\"); //filestore dir top level
File sp = new File("M:\");//sp directory top level (mapped)
File out = new File("C:\Temp\results.txt");
fileOut = new PrintWriter(out);
recurse(fileStore, sp);
fileOut.close();
}
private static void recurse(File dir1, File dir2)
{
File [] dirFiles;
if(dir2 == null)
dirFiles = new File[0];
else
dirFiles=dir2.listFiles();
File match;
for(File f1 : dir1.listFiles())
{
System.out.println(f1.getAbsolutePath());
match=null;
for(File f2:dirFiles)
if(f1.getName().equalsIgnoreCase(f2.getName()))
match=f2;
if(f1.isDirectory() && f1.canRead())
try{
recurse(f1,match);
}
catch(Exception e){}
else if (match == null)
fileOut.write(f1.getAbsolutePath()+"\r\n");
}
}
}
它将不在第二个目录结构中的每个文件写入给定的文本文件。 您可以 运行 在像 eclipse 这样的 IDE 中使用此代码。