标题: 【已解决】40元求文件搜索移动 [打印本页]
作者: lxh623 时间: 2020-9-17 18:13 标题: 【已解决】40元求文件搜索移动
本帖最后由 lxh623 于 2020-9-17 20:31 编辑
文件夹成千上万的png,是文字图像。
有个文本Unicode是,内容是:
U_0031DE
U_0031E2
U_0031E3
U_001B0A6
U_004E00
U_004E01
U_004E02
U_004E03
U_004E04
1、想创建子文件夹。
2、文件夹文件名类似于,U_004E00.png。当前文件夹列目录,得到文本a。
3、如果文本a的一行在文本Unicode里面搜索不到,就移动到子文件夹。
或许可以把结果写入文本,最后集中移动。
注意:最好整行搜索,完全一样。
谢谢!
作者: Batcher 时间: 2020-9-17 18:55
回复 1# lxh623 - @echo off
- set "NewFolder=子文件夹"
- set "FileList=a.txt"
- set "FileCheck=Unicode.txt"
- if not exist "%NewFolder%" (
- md "%NewFolder%"
- )
- dir /b *.png > "%FileList%"
- (for /f "" %%i in ('dir /b *.png') do (
- echo,%%~ni
- ))>"%FileList%.tmp"
- for /f "delims=" %%i in ('type "%FileList%.tmp" ^| findstr /v /x /g:"%FileCheck%"') do (
- move "%%i.png" "%NewFolder%"
- )
复制代码
作者: zaqmlp 时间: 2020-9-17 19:52
- <# :
- cls
- @echo off
- cd /d "%~dp0"
- powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default))) -Args '%~f0'"
- pause
- exit
- #>
- $self=get-item -liter $args[0];
- $path=$self.Directory.FullName;
-
- $newfolder=".\#NotFound";
- $txtfile=".\Unicode.txt";
- $ext=@(".png");
-
- $newfolder=$newfolder -replace '^\.',$path;$txtfile=$txtfile -replace '^\.',$path;
- if(-not (test-path -liter $txtfile)){Write-host ('"'+$txtfile+'" not found');exit;};
- if(-not (test-path -liter $newfolder)){[void](md $newfolder)};
- $dic=New-Object 'System.Collections.Generic.Dictionary[string,string]';
- $text=[IO.File]::ReadAllLines($txtfile,[Text.Encoding]::Default);
- for($i=0;$i -lt $text.count;$i++){
- $line=$text[$i].trim();
- if(-not $dic.ContainsKey($line)){$dic.add($line,'')};
- };
- $files=@(dir -liter $path|?{($ext -contains $_.Extension) -and ($_ -is [System.IO.FileInfo])});
- for($i=0;$i -lt $files.length;$i++){
- $base=$files[$i].BaseName;
- if(-not $dic.ContainsKey($base)){
- write-host $files[$i].Name;
- move-item -liter $files[$i].FullName ($newfolder+'\'+$files[$i].Name);
- };
- }
复制代码
作者: lxh623 时间: 2020-9-17 20:18
回复 2# Batcher
要是这个删除,就更完美了。
谢谢!
a.txt.tmp
作者: Batcher 时间: 2020-9-17 20:19
回复 4# lxh623
请自行在最后加一行 del 命令吧
作者: lxh623 时间: 2020-9-17 20:32
回复 5# Batcher
赞助了论坛。
谢谢!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |