求bat批量移动文件到包含文件名的文件夹中, 文件夹有多层,需自动识别到与文件名对应的文件夹。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求bat批量移动文件到包含文件名的文件夹中, 文件夹有多层,需自动识别到与文件名对应的文件夹。相关的知识,希望对你有一定的参考价值。

文件是pdf全部在一个文件夹中,JPG及TXT都各自在一个文件夹中。如何批量移动文件到对应的文件夹下面呢?JPG及TXT的命名类似与PDF。文件夹有多个年度,年度下有多个类型文件夹,类型文件夹下有多个与文件名相同的文件夹。层级一共为3或者4层,不管多少层文件都能批量归纳到包含文件名的文件夹下,求大神给各bat。

参考技术A 不清楚你的实际文件/情况,仅以问题中的样例说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI<# :
cls&echo off&cd /d "%~dp0"&mode con lines=5000
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
powershell -NoProfile -ExecutionPolicy bypass "[IO.File]::ReadAllText(\\"%~f0\\",[Text.Encoding]::GetEncoding('GB2312'))|Invoke-Expression"
echo;%#% +%$%%$%/%_% %z%
pause
exit
#>
$pdf_folder="C:\\work\\测试\\结果\\新建文件夹";
if(-not (test-path -literal $pdf_folder))write-host ('"'+$pdf_folder+'" 未找到');exit;
$b=[Convert]::FromBase64String("IC0tPiA=");
$c=[Text.Encoding]::Default.GetString($b);
$parentpath=(get-item -literal $pdf_folder).Parent.FullName;
$folders=@(dir -literal $parentpath -recurse|?$_ -is [System.IO.DirectoryInfo]);
$files=@(dir -literal $pdf_folder|?('.pdf' -eq $_.Extension) -and ($_ -is [System.IO.FileInfo]));
for($i=0;$i -lt $files.length;$i++)
    $base=$files[$i].BaseName -replace '[-_]\\d+$','';
    for($j=0;$j -lt $folders.length;$j++)
        if($base -eq $folders[$j].Name)
            $files[$i].FullName+$c+$folders[$j].FullName;
        
    

追问

请问编码中的路径是指需要移动文件的位置吗?是否可以更改路径?按照该代码执行后文件未能移动到对应的文件夹下,是否我操作有误。

追答

按运行后窗口标题栏中的提示联系我

参考技术B :1997年亚洲金融风暴之后,东亚地区掀起一股谈判和缔结自由贸易协定的热潮。继中国和东盟签订自由贸易区文件后,日本与东盟也签署了《日本与东盟全面经济合作伙伴框架协议》,正式启动建立日本—东盟自由贸易区的进程。比较中国—东盟自由贸易区和日本—东盟自由贸易区在贸易地位、优势及合作模式、面临问题等方面的差异,对中国和日本在东亚区域经济合作中的影响进行了全面的分析。
  关键词:中国—东盟自由贸易区(CAFTA);日本—东盟自由贸易区(JAFTA);区域经济合作
  随着CAFTA与JAFTA建设进程的不断加快,其发展态势越来越受到人们的关注。本文在此基础上,将CAFTA和JAFTA联系起来,就其差异性进行深入的比较分析。
  
  一、中国—东盟自由贸易区和日本—东盟自由贸易区的比较分析
  
  1.贸易地位不同。长期以来,日本与东盟在贸易、投资、产业合作、金融与文化等领域建立了多追答

:1997年亚洲金融风暴之后,东亚地区掀起一股谈判和缔结自由贸易协定的热潮。继中国和东盟签订自由贸易区文件后,日本与东盟也签署了《日本与东盟全面经济合作伙伴框架协议》,正式启动建立日本—东盟自由贸易区的进程。比较中国—东盟自由贸易区和日本—东盟自由贸易区在贸易地位、优势及合作模式、面临问题等方面的差异,对中国和日本在东亚区域经济合作中的影响进行了全面的分析。  关键词:中国—东盟自由贸易区(CAFTA);日本—东盟自由贸易区(JAFTA);区域经济合作  随着CAFTA与JAFTA建设进程的不断加快,其发展态势越来越受到人们的关注。本文在此基础上,将CAFTA和JAFTA联系起来,就其差异性进行深入的比较分析。    一、中国—东盟自由贸易区和日本—东盟自由贸易区的比较分析    1.贸易地位不同。长期以来,日本与东盟在贸易、投资、产业合作、金融与文

求bat将文件夹内同名双格式文件中缺失一个的文件批量提取到指定文件夹

1, 拍摄照片都是双格式文件,其中一个是jpg文件,另外一个是CR2、CR3、NEF、ARW其中一种的文件。(图2).2 ,对文件夹内文件进行挑选后,会剩余一种格式的同名文件,图1,有时是剩余jpg文件,有时剩余的是另外一种格式文件3 ,需要运用bat将没有对应双格式的文件批量提取出来,到同文件夹下新建“select”文件夹内。,举例就是(图1)中高亮显示的jpg文件移动到select raw 文件夹中。操作完结果见图3

参考技术A 以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行
/*&cls
@echo off
rem 查找出当前文件夹里名称相同而扩展名不同的两个文件中有缺失的文件
mode con lines=3000
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
set "newfolder=select"
if not exist "%newfolder%" md "%newfolder%"
dir /a-d-h/b|findstr /ve "\.bat"|cscript -nologo -e:jscript "%~f0"
echo;%#% +%$%%$%/%@% %z%
pause
exit
*/
var fso=new ActiveXObject('Scripting.FileSystemObject');
var dic=;
while(!WSH.StdIn.AtEndOfStream)
var it=WSH.StdIn.ReadLine();
var file=fso.GetFile(it);
var base=fso.GetBaseName(it).toLowerCase();
var ext=fso.GetExtensionName(it).toLowerCase();
if(dic[base]==undefined)
dic[base]='jpg':[],'other':[];

if(ext=='jpg')
dic[base]['jpg'].push(it);
else
dic[base]['other'].push(it);


for(var it in dic)
if(dic[it]['jpg'].length==0 || dic[it]['other'].length==0)
for(var i=0;i<dic[it]['jpg'].length;i++)
WSH.StdErr.WriteLine(dic[it]['jpg'][i]);

for(var i=0;i<dic[it]['other'].length;i++)
WSH.StdErr.WriteLine(dic[it]['other'][i]);


以上是关于求bat批量移动文件到包含文件名的文件夹中, 文件夹有多层,需自动识别到与文件名对应的文件夹。的主要内容,如果未能解决你的问题,请参考以下文章

求bat将文件夹内同名双格式文件中缺失一个的文件批量提取到指定文件夹

**.bat中,怎样将多文件,按文件名的关键字批量移动到多相应的文件夹中?

批量移动多个文件到多个文件夹的bat命令,详细如下:

如何用BAT命令批量移动文件到文件夹?

大佬们 求一个批量删除文件名的bat文件的代码

bat批处理,根据清单中的文件名将多个文件移动到另外一个路径下,如何批量处理?非常感谢!