我们在Windows上有一个文件夹......很大.我跑了"dir> list.txt".该命令在1.5小时后丢失了响应.输出文件大约为200 MB.它显示至少有280万个文件.我知道情况很愚蠢,但让我们关注问题本身.如果我有这样的文件夹,我该如何将其拆分为一些"可管理"的子文件夹?令人惊讶的是,我提出的所有解决方案都涉及到在某个时刻获取文件夹中的所有文件,这在我的案例中是禁止的.有什么建议?
感谢Keith Hill和Mehrdad.我接受了Keith的回答,因为这正是我想做的事情,但我无法让PS快速完成.
有了Mehrdad的提示,我写了这个小程序.移动280万个文件需要7个多小时.所以最初的dir命令完成了.但不知怎的,它没有回到控制台.
namespace SplitHugeFolder
{
class Program
{
static void Main(string[] args)
{
var destination = args[1];
if (!Directory.Exists(destination))
Directory.CreateDirectory(destination);
var di = new DirectoryInfo(args[0]);
var batchCount = int.Parse(args[2]);
int currentBatch = 0;
string targetFolder = GetNewSubfolder(destination);
foreach (var fileInfo in di.EnumerateFiles())
{
if (currentBatch == batchCount)
{
Console.WriteLine("New Batch...");
currentBatch = 0;
targetFolder = GetNewSubfolder(destination);
}
var source = fileInfo.FullName;
var target = Path.Combine(targetFolder, fileInfo.Name);
File.Move(source, target);
currentBatch++;
}
}
private static string GetNewSubfolder(string parent) …Run Code Online (Sandbox Code Playgroud) 如何在不使用sybase的情况下仅选择1行rowcount?我没有权利set rowcount在sybase中.有没有办法只选择1行?
例如:
select * from table where name = 'jack'
Run Code Online (Sandbox Code Playgroud)
这会返回两行; 如何在不使用结果集的情况下仅选择一行set rowcount?
似乎mvc 3团队决定引入一个控制器和一个名为viewbag的视图之间进行动态数据交换的功能,但这对于我们都知道的强类型视图是一件好事吗?想要你的意见..这个功能是否会取代强类型视图?(的ViewModels)
我有一个build.xml,允许我运行junit测试.以下是相关部分:
<path id="JUnit 4.libraryclasspath">
<pathelement location="../../../../../eclipse/plugins/org.junit4_4.5.0.v20090824/junit.jar"/>
<pathelement location="../../../../../eclipse/plugins/org.hamcrest.core_1.1.0.v20090501071000.jar"/>
</path>
<path id="MyProject.classpath">
<pathelement location="bin"/>
<path refid="JUnit 4.libraryclasspath"/>
</path>
<target name="run_unit_tests" depends="build">
<mkdir dir="${junit.output.dir}"/>
<junit printsummary="yes" haltonfailure="no">
<classpath refid="MyProject.classpath" />
<formatter type="xml"/>
<batchtest todir="${junit.output.dir}">
<fileset dir="${src}">
<include name="**/*Test*.java"/>
</fileset>
</batchtest>
</junit>
</target>
Run Code Online (Sandbox Code Playgroud)
如果我更换线路:
<pathelement location="../../../../../eclipse/plugins/org.junit4_4.5.0.v20090824/junit.jar"/>
Run Code Online (Sandbox Code Playgroud)
同
<pathelement location="${eclipse.home}/plugins/org.junit4_4.5.0.v20090824/junit.jar"/>
Run Code Online (Sandbox Code Playgroud)
更改打破了类路径.我收到以下错误:
该
<classpath>用于<junit>如果不是在Ant的自己的类路径必须包含的junit.jar
据我所知,location属性在两种情况下都应该保持相同的值.那可能是什么原因呢?
作为一个附带问题,此构建文件不适用于具有不同junit版本的环境(路径将中断).是否可以为junit.jar添加"常规"路径?
有谁知道Berkeley Overmind过去一年提交给Starcraft AI竞赛的编程语言是什么?
我是一名中级C++程序员,并且知道您可以将常量引用作为参数传递,以防止编辑实际变量.我想知道我是否可以在PHP中执行此操作?
HI,
我需要澄清实现PhaseListener类.以下是PhaseListener.getPhaseId的两个不同的重写实现
@Override
public PhaseId getPhaseId() {
return PhaseId.ANY_PHASE;
}
Run Code Online (Sandbox Code Playgroud)
和
@Override
public PhaseId getPhaseId() {
return PhaseId.RESTORE_VIEW;
}
Run Code Online (Sandbox Code Playgroud)
这两种实现有什么重大区别?会有什么影响?
我有一个DBQuery<T>转换为IQueryable<T>(这一点工作正常).但后来我试图将IQueryable转换为ObjectQuery ..它失败了: -
public void Foo(this IQueryable<T> source)
{
// ... snip ...
ObjectQuery<T> objectQuery = source as ObjectQuery<T>;
if (objectQuery != null)
{
// ... do stuff ...
}
}
Run Code Online (Sandbox Code Playgroud)
在我转换到Entity-Framework 4 CTP5 Magic Unicorn等等之前,这曾经工作过.现在,它不起作用 - 即.objectQuery是null.
现在,DBQuery<T> inherits IQueryable<T>..所以我认为这应该工作.
如果我将代码更改为..
var x = (ObjectQuery<T>) source;
Run Code Online (Sandbox Code Playgroud)
然后抛出以下异常: -
System.InvalidCastException:无法转换类型为'System.Data.Entity.Infrastructure.DbQuery
1[Tests.Models.Order]' to type 'System.Data.Objects.ObjectQuery1 [Tests.Models.Order]'的对象.
有什么建议?
我有apache作为后端服务器,运行php脚本和nginx作为反向代理服务器,处理静态内容.一个php脚本,它给我一些进程的ID,然后执行这个过程(很长).我只需要向浏览器传递该进程的ID.
// ...
ob_start();
echo json_encode($arResult); // only this data should be passed to browser
$contentLength = ob_get_length();
header('Connection: close');
header('Content-Length: ' . $contentLength);
ob_end_flush();
ob_flush();
flush();
// then performed a long process
Run Code Online (Sandbox Code Playgroud)
(我用另一个ajax脚本检查进程的状态)
这在单独的apache下工作正常.但是当apache落后于nginx时我遇到了问题.在这种情况下,我只有在完成过程完成时才得到响应.
nginx设置:
server {
#...
proxy_set_header Connection close;
proxy_pass_header Content-Length;
#...
}
Run Code Online (Sandbox Code Playgroud)
但我仍然在FireBug中获得了Connection keep-alive.
如何让nginx立即给出apache的响应?
希望问题很清楚.
谢谢.
我有一个填充了字典中的单词的列表.我想找到一种方法来删除所有单词,只考虑在目标单词开头形成的根单词.
例如,单词"rodeo"将从列表中删除,因为它包含英语有效单词"rode"."打字机"将被删除,因为它包含英文有效的单词"type".但是,单词"snicker"仍然有效,即使它包含单词"nick",因为"nick"位于单词的中间而不是单词的开头.
我在想这样的事情:
for line in wordlist:
if line.find(...) --
Run Code Online (Sandbox Code Playgroud)
但是我希望那个"if"语句然后遍历列表中的每个单词检查它是否找到它,如果是,则从列表中删除它自己,这样只剩下根词.我是否必须创建wordlist的副本才能遍历?