簡體   English   中英

批處理文件根據文件名創建目錄,將類似文件移動到新目錄

[英]batch file to create directory based on file name, move like files to new directory

我在一個目錄中有數百個文件,它們都有不同的名稱,但其中一些是相關的。

文件大多是.AI和PDF,都是這樣的名字:

  • FILE1_retail_xxx.ai
  • FILE1_label_xxx.ai
  • FILE2_retail_xxx.ai
  • FILE2_label_xxx.ai
  • FILE3_retail_xxx.ai
  • FILE3_label_xxx.ai

我想要做的是有一個批處理文件為 FILE1、FILE2、FILE3 等創建目錄,並將所有以 FILE1、FILE2、FILE3 等開頭的文件移動到這些新創建的目錄中。

我已經使用了它,但它只是為整個文件名創建了一個 DIR。

@echo off
for %%i in (*) do (
 if not "%%~ni" == "organize" (
  md "%%~ni" && move "%%~i" "%%~ni"
 )
)

這不能滿足我的需要,任何人都可以幫我把它按摩成我需要的東西或給我一個新的批處理文件來嘗試嗎?

謝謝! 這將節省我無數小時的體力勞動!

您需要使用另一個for /f循環將文件名拆分為_

@echo off
for %%i in (*) do (
  if not "%%~ni" == "organize" ( 
    for /f "delims=_" %%a in ("%%~ni") do (
      md "%%a" 2>nul 
      move "%%~i" "%%~a\" 
  )
)

2>nul在文件夾已經存在的情況下抑制錯誤消息。

請考慮使用for %%i in (*_*) do (for %%i in (*_*_*.ai *_*_*.pdf) do ( - 根據您的實際需要/文件名來預先-選擇要移動的文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM