批處理新手入門導讀[視頻教程]批處理基礎視頻教程[視頻教程]VBS基礎視頻教程
[批處理文件精品]批處理版照片整理器[批處理文件精品]純批處理備份&還原驅動在線第三方下載
返回列表 發帖

【已解決】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里面搜索不到,就移動到子文件夾。
或許可以把結果寫入文本,最后集中移動。
注意:最好整行搜索,完全一樣。

謝謝!

回復 1# lxh623
  1. @echo off
  2. set "NewFolder=子文件夾"
  3. set "FileList=a.txt"
  4. set "FileCheck=Unicode.txt"
  5. if not exist "%NewFolder%" (
  6.     md "%NewFolder%"
  7. )
  8. dir /b *.png > "%FileList%"
  9. (for /f "" %%i in ('dir /b *.png') do (
  10.     echo,%%~ni
  11. ))>"%FileList%.tmp"
  12. for /f "delims=" %%i in ('type "%FileList%.tmp" ^| findstr /v /x /g:"%FileCheck%"') do (
  13.     move "%%i.png" "%NewFolder%"
  14. )
復制代碼
1

評分人數

【批處理在線視頻分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公眾號、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

我幫忙寫的代碼不需要付錢,不用找我要支付寶或微信賬號。如果一定要給,請到微信群給大家發紅吧。

TOP

  1. <# :
  2. cls
  3. @echo off
  4. cd /d "%~dp0"
  5. powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default))) -Args '%~f0'"
  6. pause
  7. exit
  8. #>
  9. $self=get-item -liter $args[0];
  10. $path=$self.Directory.FullName;
  11. $newfolder=".\#NotFound";
  12. $txtfile=".\Unicode.txt";
  13. [email protected](".png");
  14. $newfolder=$newfolder -replace '^\.',$path;$txtfile=$txtfile -replace '^\.',$path;
  15. if(-not (test-path -liter $txtfile)){Write-host ('"'+$txtfile+'" not found');exit;};
  16. if(-not (test-path -liter $newfolder)){[void](md $newfolder)};
  17. $dic=New-Object 'System.Collections.Generic.Dictionary[string,string]';
  18. $text=[IO.File]::ReadAllLines($txtfile,[Text.Encoding]::Default);
  19. for($i=0;$i -lt $text.count;$i++){
  20.     $line=$text[$i].trim();
  21.     if(-not $dic.ContainsKey($line)){$dic.add($line,'')};
  22. };
  23. [email protected](dir -liter $path|?{($ext -contains $_.Extension) -and ($_ -is [System.IO.FileInfo])});
  24. for($i=0;$i -lt $files.length;$i++){
  25.     $base=$files[$i].BaseName;
  26.     if(-not $dic.ContainsKey($base)){
  27.         write-host $files[$i].Name;
  28.         move-item -liter $files[$i].FullName ($newfolder+'\'+$files[$i].Name);
  29.     };
  30. }
復制代碼
1

評分人數

提供bat代寫,為你省時省力省事,支付寶掃碼頭像支付
QQ: 956535081

TOP

回復 2# Batcher
要是這個刪除,就更完美了。
謝謝!
a.txt.tmp

TOP

回復 4# lxh623


    請自行在最后加一行 del 命令吧
【批處理在線視頻分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公眾號、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

我幫忙寫的代碼不需要付錢,不用找我要支付寶或微信賬號。如果一定要給,請到微信群給大家發紅吧。

TOP

回復 5# Batcher
贊助了論壇。
謝謝!

TOP

返回列表
重庆时时开奖直播软件