指点成金-最美分享吧

登录

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

佚名 举报

篇首语:本文由小编为大家整理,主要介绍了如何用BAT命令批量移动文件到文件夹?相关的知识,希望对你有一定的参考价值。

现有若干文件,文件名为不同姓名加序号,现在想将同名字的文件移动到新建的同名文件夹

不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行
<# :
cls&echo off&mode con lines=5000
rem 根据文件名称中的中文名字,将对应文件剪切/移动到以该中文名字命名的文件夹里
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText("%~f0",[Text.Encoding]::GetEncoding("GB2312")))) -Args "%~f0""
echo;%#% +%$%%$%/%@% %z%
pause
exit
#>
[byte[]]$b=@(32,45,45,62,32);
$c=[Text.Encoding]::Default.GetString($b);
$self=get-item -liter $args[0];
$path=$self.Directory.FullName;
$files=@(dir -liter $path|?($self.Name -ne $_.Name) -and ($_ -is [System.IO.FileInfo]));
for($i=0;$i -lt $files.length;$i++)
$m=[regex]::match($files[$i].BaseName, "[\u4e00-\u9fa5]+");
if($m.Success)
$newfolder=$path+"\"+$m.groups[0].value;
if(-not (test-path -liter $newfolder))[void][IO.Directory]::CreateDirectory($newfolder);
$files[$i].Name+$c+$m.groups[0].value;

参考技术A COPY 名字*.* 路径(比如C:\新建文件夹)

如何用批处理写自动安装软件的脚本

参考技术A

1、新建一个Ergodic.txt文件然后重名成Ergodic.bat文件,然后输入前置声明:@echooff,pause。

2、set给路径赋值,设定一个路径,比如说D盘的bat。setwork_path=D:\bat。

3、然后cd到文件路径,用cd%work_path%。

4、然后用for循环遍历文件用echo打印出文件名for/R%%sin(.,*)do( echo%%s)。

5、运行脚本,可以发现没有跳转到D盘目录下,而是在当前文件下输出文件名了。

6、应该在cd前面加上D:以用来表示进入的是D盘,再次运行结果如下。

注意事项:

目前比较常见的批处理包含两类:DOS批处理和PS批处理。PS批处理是基于强大的图片编辑软件Photoshop的,用来批量处理图片的脚本;而DOS批处理则是基于DOS命令的。

    官方服务
      官方网站官方网站

以上是关于如何用BAT命令批量移动文件到文件夹?的主要内容,如果未能解决你的问题,请参考以下文章