一段本机上拷贝文件的JavaScript代码
来源:互联网 发布:知止而后有定 编辑:程序博客网 时间:2024/05/22 06:30
文件都存放在一个目录中,为一对文件hdr/img,如下
RENV_002_S_0816_MR_MPRAGE_br_raw_20060929164645213_1_S19532_I25405.hdr/img
RENV_011_S_0003_MR_MPRAGE_br_raw_20050901114749730_1_S9128_I7055.hdr/img
其中文件名最后一段的I*****(4或5个数字)是唯一的。
工作需要,要挑出这个目录中的一部分文件,但是现只能给出如下的信息放在TXT文档里
RENV_011_S_0022_MPRAGE_S9616_I7721
RENV_011_S_0023_MPRAGE_S14185_I14888
这里面也有I*****(4或5个数字),所以只需提取此信息足够了,虽然还有其他信息可用。例如给出了RENV_011_S_0022_MPRAGE_S9616_I7721,需要把RENV_011_S_0022_MR_MPRAGE_br_raw_20060929164645213_1_S9616_I7721.hdr/img两个文件拷贝出来。
OK,写代码吧文件存为copyfiles.js,在命令提示符中键入"cscript.exe copyfiles.js"即可执行这个JavaScript文件。
其中有个问题,就是不知为何,使用文件对象的copyFile方法拷贝文件时总提示没有权限,没办法改用cmd中的copy命令执行吧。如有哪位大虾知道怎么回事,望不吝赐教,小弟先谢过了。
RENV_002_S_0816_MR_MPRAGE_br_raw_20060929164645213_1_S19532_I25405.hdr/img
RENV_011_S_0003_MR_MPRAGE_br_raw_20050901114749730_1_S9128_I7055.hdr/img
其中文件名最后一段的I*****(4或5个数字)是唯一的。
工作需要,要挑出这个目录中的一部分文件,但是现只能给出如下的信息放在TXT文档里
RENV_011_S_0022_MPRAGE_S9616_I7721
RENV_011_S_0023_MPRAGE_S14185_I14888
这里面也有I*****(4或5个数字),所以只需提取此信息足够了,虽然还有其他信息可用。例如给出了RENV_011_S_0022_MPRAGE_S9616_I7721,需要把RENV_011_S_0022_MR_MPRAGE_br_raw_20060929164645213_1_S9616_I7721.hdr/img两个文件拷贝出来。
OK,写代码吧
// JavaScript Document
// 2007-10-23 RenV
//CopyFiles
//指定文件和目标目录
var listfile="E:/DATA/dataSelected/Another10Selected.txt";
var pathtosave = "E:/DATA/dataSelected/Another10Selected_test";
// 给出路径,获取其中所有文件路径
var folderspec = "H:/converted/AD_patient/";
/* ************************** 下面是工作代码 ******************************** */
var WshShell = new ActiveXObject("WScript.Shell");//Shell对象
var fso1 = new ActiveXObject("Scripting.FileSystemObject");
var f2 = fso1.OpenTextFile(listfile);//打开信息文件
// fso1.DeleteFolder(pathtosave);//如果硬盘上没有此目录,则脚本会出错。
fso1.CreateFolder(pathtosave);//如果硬盘上已有此目录,则脚本会出错。
var reg1 = /_Id{4,5}.(hdr|img)$/;//用以匹配hdr/img文件名
var reg2 = /_Id{4,5}/;//用以匹配信息文件名(不带扩展名)
var fso2 = new ActiveXObject("Scripting.FileSystemObject");
var folder = fso2.GetFolder(folderspec);
var fc= new Enumerator(folder.files);//迭代器
for(var strName1;strName1=f2.readLine();)
{
var strImageID = reg2.exec(strName1);//从strName1获取ImageUID,这是唯一的
//reg2.exec("RENV_011_S_0022_MPRAGE_S9616_I7721")返回 "_I7721"
// WshShell.popup(strImageID);
for (fc.moveFirst(); !fc.atEnd(); fc.moveNext())
{
var strName2 = String(fc.item());
if( strName2.indexOf(strImageID)>-1 )//如果文件名中还有我们的ImageUID
{
// fso2.copyFile(strName2,pathtosave);
WshShell.Run("cmd.exe /K copy " + strName2 + " " + pathtosave + " &&exit");
//老提示没有权限,只好出此下策,使用Shell的copy吧
}
}
}
// 2007-10-23 RenV
//CopyFiles
//指定文件和目标目录
var listfile="E:/DATA/dataSelected/Another10Selected.txt";
var pathtosave = "E:/DATA/dataSelected/Another10Selected_test";
// 给出路径,获取其中所有文件路径
var folderspec = "H:/converted/AD_patient/";
/* ************************** 下面是工作代码 ******************************** */
var WshShell = new ActiveXObject("WScript.Shell");//Shell对象
var fso1 = new ActiveXObject("Scripting.FileSystemObject");
var f2 = fso1.OpenTextFile(listfile);//打开信息文件
// fso1.DeleteFolder(pathtosave);//如果硬盘上没有此目录,则脚本会出错。
fso1.CreateFolder(pathtosave);//如果硬盘上已有此目录,则脚本会出错。
var reg1 = /_Id{4,5}.(hdr|img)$/;//用以匹配hdr/img文件名
var reg2 = /_Id{4,5}/;//用以匹配信息文件名(不带扩展名)
var fso2 = new ActiveXObject("Scripting.FileSystemObject");
var folder = fso2.GetFolder(folderspec);
var fc= new Enumerator(folder.files);//迭代器
for(var strName1;strName1=f2.readLine();)
{
var strImageID = reg2.exec(strName1);//从strName1获取ImageUID,这是唯一的
//reg2.exec("RENV_011_S_0022_MPRAGE_S9616_I7721")返回 "_I7721"
// WshShell.popup(strImageID);
for (fc.moveFirst(); !fc.atEnd(); fc.moveNext())
{
var strName2 = String(fc.item());
if( strName2.indexOf(strImageID)>-1 )//如果文件名中还有我们的ImageUID
{
// fso2.copyFile(strName2,pathtosave);
WshShell.Run("cmd.exe /K copy " + strName2 + " " + pathtosave + " &&exit");
//老提示没有权限,只好出此下策,使用Shell的copy吧
}
}
}
其中有个问题,就是不知为何,使用文件对象的copyFile方法拷贝文件时总提示没有权限,没办法改用cmd中的copy命令执行吧。如有哪位大虾知道怎么回事,望不吝赐教,小弟先谢过了。
- 一段本机上拷贝文件的JavaScript代码
- 一段代码得到本页面的文件名
- javascript的一段神奇代码
- 一段JavaScript的关机代码
- 一段简单的javascript代码
- 一段有意思的javascript代码
- 一段代码文件的注释
- 一段保存文件的代码
- 远程服务器和本机间的文件拷贝
- 一段在线答题的javascript代码
- 一段javascript的页面搜索代码
- 一段javascript实现缩略图的好代码
- 绝对惊喜的一段JavaScript代码
- 一段javascript实现缩略图的好代码
- 一段经典的javascript代码分析
- 一段javascript的页面搜索代码
- 绝对惊喜的一段JavaScript代码
- 一段javascript实现缩略图的好代码
- 简化Spring(3)--Controller层
- 简化Spring(4)--View层
- Javaer 双修C++的key point
- C++ 完全不完全资源导引--书籍篇
- Java下的Framework编写(反射,泛型,元数据,CGLib,代码动态生成,AOP,动态语言嵌入)(1)--序
- 一段本机上拷贝文件的JavaScript代码
- 重返Linux与C,地狱的又一季
- 在Dev-C++上搭建Winpcap的开发环境
- SWIG,C/C++类库与Java,Python等泛高阶语言的万能粘合剂
- debug经验一二三
- Java下的框架编程(2)-对泛型的没心没肺的用法和为擦拭法站台
- Modern C++ Design, Spring Framework和Ruby的Mixin....
- 程序员成长最快的环境
- Oracle 10g SQL 优化再学习