iT邦幫忙

0

powershell子資料夾建立資料夾與移動檔案

  • 分享至 

  • xImage

因工作上的需求會在母資料夾底(以upload為例)下,
以人工方式建立案件子資料夾(以20230715-00A為例,子資料夾名稱不固定),
原始檔案與影像會儲存在案件子資料夾內,
由於需要分開原始檔與影像檔,
所以想在子資料夾內建立Image資料夾,並將影像檔移至Image資料夾內,
由於案件子資料夾並非固定名稱,想請教各位先進,是否有辦法以powershell來進行?
感謝各位

PS.原先透過批次檔運行,但移轉至win11,修改資料夾路徑後,批次檔無法運行,
將批次檔在win10運行又正常。原批次檔如下:

for /f "delims=" %%a in ('dir /ad /b /s C:\Users\XXXX\Desktop\Upload\^|sort /r') do (mkdir "%%a"\Image)
for /f "delims=" %%g in ('dir /ad /b /s C:\Users\XXXX\Desktop\Upload\^|sort /r') do (MOVE "%%g"\*Tif* "%%g"\Image)

https://ithelp.ithome.com.tw/upload/images/20230715/20161421JZjoQwgNFL.jpg

Hans陳 iT邦新手 5 級 ‧ 2023-07-16 18:16:29 檢舉
如果用PowerShell ISE跑有錯誤訊息嗎?
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
tombo
iT邦高手 1 級 ‧ 2023-08-02 19:58:20
$Root = "C:\Users\XXXX\Desktop\Upload"

Get-ChildItem -Path $Root -Recurse -Depth 0 -Directory | ForEach-Object{ 
    $Path = $_.FullName
    If(!(Test-Path -Path "$Path\Image")){
        New-Item -Path $Path -Name "Image" -ItemType Container
    }
}

Get-ChildItem -Path $Root -Recurse -Depth 1 -File | ForEach-Object{ 
    $Path = $_.FullName
    $Dest = Join-Path -Path $_.DirectoryName -ChildPath "Image"
    Move-Item -Path $Path -Destination $Dest
}
yychen31 iT邦新手 5 級 ‧ 2023-08-14 12:57:22 檢舉

tombo,
感謝回覆,使用上有遇到一個問題,想請教:
20230715-00A(範例)資料夾下,原始檔與影像檔都會一同移動到Image資料夾下,有辦法只移動影像檔嗎?

我要發表回答

立即登入回答