Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 将特定扩展名的文件移动到单个压缩存档_Batch File_Cmd - Fatal编程技术网

Batch file 将特定扩展名的文件移动到单个压缩存档

Batch file 将特定扩展名的文件移动到单个压缩存档,batch-file,cmd,Batch File,Cmd,我想按文件扩展名搜索文件,并将找到的每个文件打包到单独的存档中(一个接一个),并在压缩后删除文件。 归档文件应存储在找到文件的地方 我希望为这个任务确定两个参数:应该找到文件的文件夹的路径和这些文件的文件扩展名 例如: 路径:d:\folder\ 扩展名:txt 找到的名称应转移到7zip,并应开始打包: 7z a -mx9 -sdel d:\folder\subfolder1\filename1.txt.7z d:\folder\subfolder1\filename1.txt 在打包和删除

我想按文件扩展名搜索文件,并将找到的每个文件打包到单独的存档中(一个接一个),并在压缩后删除文件。 归档文件应存储在找到文件的地方

我希望为这个任务确定两个参数:应该找到文件的文件夹的路径和这些文件的文件扩展名

例如:

路径:
d:\folder\
扩展名:
txt

找到的名称应转移到7zip,并应开始打包:

7z a -mx9 -sdel d:\folder\subfolder1\filename1.txt.7z d:\folder\subfolder1\filename1.txt
在打包和删除之后:

7z a -mx9 -sdel d:\folder\subfolder2\filename2.txt.7z d:\folder\subfolder2\filename2.txt
我找到了如何使用命令行进行搜索:

@如果“%1”=”(设置路径F=D:\folder\)其他(设置路径F=%1)
@如果“%2”==”(设置exmf=*.txt)其他(设置exmf=%2)


但我不知道如何将这些信息以正确的格式发送到7zip。删除文件没有问题,因为7zip具有解决问题的
-sdel
选项。

使用问题中的命令设置变量后,只需添加以下行:

for /r "%pathf%" %%f in ("%exmf%") do 7z a -mx9 -sdel "%%f.7z" "%%f"

这不是一个编码请求站点,说你找不到类似的东西,只是表明你不愿意从多个答案中调整你的解决方案。有时可能你的确切问题以前没有人问过,但你完成特定任务所需的部分是(接受参数、使用7-Zip、删除文件)。你需要更加努力,至少在你的问题中加入一些代码,这些代码试图执行你需要的所有任务。