我有一些 PDF 檔案需要重命名并移動到特定檔案夾才能匯入系統。該檔案默認具有以下名稱:例如:12345.123456/1234-12.pdf
首先我需要洗掉字符“,”“/”“-”
@echo off
setlocal EnabledelayedExpansion
for /r "C:\importation" %%a in (*) do (
set "newname=%%~na"
set "newname=!newname:.=!"
set "newname=!newname:-=!"
set "newname=!newname:/=!"
ren "%%~a" "!newname!%%~xa"
)
現在我需要使用檔案名創建檔案夾(不洗掉字符,例如:12345123456123412)并將它們重命名為以下模式:例如:P12345123456123412_V1_A0V0_T07-54-369-664_S00001_Volume.pdf
為此,我將檔案拖到以下腳本:
@If Not "%~1" == "" For %%G In (%*) Do @MD "%%~dpG%%~nG" 2>NUL && Move /Y "%%~G" "%%~dpG%%~nG\P%%~nG_V1_A0V0_T07-54-369-664_S00001_Volume%%~xG"
我只想做一個程序,即加入兩個腳本,只運行一次。有人能幫我嗎?
我不想將檔案拖到批處理檔案中,而是想運行它并讓它從檔案夾中讀取檔案(.pdf)
uj5u.com熱心網友回復:
你正在尋找這樣的東西嗎?
以下將接受一個或多個檔案或目錄的拖放, (受命令列長度限制)。每個單獨放置的 PDF 檔案和任何放置目錄中的每個 PDF 檔案都應按要求處理。
@Echo Off
SetLocal EnableExtensions DisableDelayedExpansion
If "%~1" == "" GoTo :EOF
For %%G In (%*) Do (For %%H In ("%%~G") Do If "%%~aH" Lss "-" (
Echo Error! %%G no longer exists.
%SystemRoot%\System32\timeout.exe /T 2 /NoBreak 1>NUL
) Else If "%%~aH" GEq "d" (For %%I In ("%%~G\*.pdf") Do Call :Sub "%%~I"
) Else If /I "%%~xG" == ".pdf" (Call :Sub "%%~G"
) Else (Echo Error! %%G is not a PDF
%SystemRoot%\System32\timeout.exe /T 2 /NoBreak 1>NUL))
GoTo :EOF
:Sub
Set "basename=%~n1"
Set "basename=
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/515755.html
上一篇:批量從本地磁盤獲取硬碟序列號
