Programming 板


LINE

※ 引述 《ddavid (謊言接線生)》 之銘言: :   : ※ 引述《JokePtt (思辨成魔)》之銘言: : : https://i.imgur.com/3r69LqW.jpg : : 不好意思 又上來叨擾各位 : : 我用軟體把pdf轉jpg 生成了數千個子資料夾  : : (1)我想把檔案全部一次命名 圖中B部分比如是caseABC以下數千個子目錄下的檔案 : : 圖中A部的hottest只是其一子目錄 如當中檔案1.jpg 2.jpg 3.jpg 檔案數不 : 固定 : : 重命名為 子目錄名 + 分隔號 _ + 檔案流水號*2-1 : : 如 hottest_1.jpg hottest_3.jpg hottest_5.jpg... : : 在B部分的caseABC下所有子目錄檔案皆找各自的子目錄(A部分名)重新命名 : : 該如何用cmd或powershell?? : : (2)我要將F:\Data\Projects\caseABC 數千個子目錄下改好名的各檔案 : : 一起移至與B同階的 子目錄1 以圖例是 F:\Data\Projects\1 : : 又該怎麼下指令?! : : 當然移完後的動作 我會直接在caseABC上點內容 確認沒有檔案後移除 : : 再把資料夾 1 改名為 caseABC 手動就可以完成 : : 只是前兩點對於數千個生成的資料夾 及裡面總數上萬個檔案 : : 有點不知所措 還請各位賢德不吝賜教 感恩 : 我還是先講一下如果沒有那個流水號*2-1取代問題的話,只靠cmd完成的方法。 : 我cmd沒熟到那個程度,也許有人知道cmd就能搞定完整要求的方式XD :   : 在caseABC裡面建立個批次檔(就假定是ren_and_move.bat吧),內容為: :   :   : for /d %%i in (*) do ( : cd %%i : for %%j in (*) do ren %%j %%i_%%j : cd .. : mv %%i F:\Data\Projects\1 : ) :   :   : 第一行跟上一個回答前半很像,但加入 /d 是表示找的不是檔名而是子目錄。 :   : 找到了caseABC下面的一個子目錄名取代後面四行裡面全部的%%i後,第二行進去 : 那個子目錄。 雖然你們好像要cmd。 不知道powershell行不行XD 第一次回別人文,初體驗就給你了XD 如果哪邊違反版規提醒我一下,謝謝。 過年有點無聊 看看PTT還有什麼有趣的板。 剛好翻到這裡,看到這篇文蠻有趣的,想幫忙解決看看。 不過我根本完全不懂bat更別說powershell,但是我對於bash shell略懂略懂。 所以我就依照那邊的知識來寫寫看powershell,XD 題外話: powershell寫起來一點都不power阿(? 我覺得好難寫QAQ 先放程式碼: $Data_Location = "C:\Data\Projects\" $move_dir = "C:\Data\1" #檢查目錄 if (!(Test-Path -Path $move_dir )) { $wsh = New-Object -ComObject WScript.Shell $answer = $wsh.Popup("你要移動的目的地不存在,你這87,腳本將結束", 20, "路徑問 題", 32) exit } if (!(Test-Path -Path $Data_Location )) { $wsh = New-Object -ComObject WScript.Shell $answer = $wsh.Popup("你的Data目錄不存在,你這87,腳本將結束", 20, "路徑問題", 32) exit } #取得第一層目錄名 $l = Get-ChildItem $Data_Location | ?{$_.psiscontainer -eq $true} | select-objec t name foreach ($i in $l){ cd $i.name #取得第二層目錄名 $f = Get-ChildItem ($Data_Location + $i.name.ToString()) | ?{$_.psiscontaine r -eq $false} | select-object name foreach ($j in $f){ $tmp = $j.name.ToString() $result = ([int]$tmp.SubString(0,$tmp.LastIndexOf('.'))) * 2 - 1 $result = ([String]$result) + ".jpg" #檔案新名子 $newname = $i.name.ToString() + "_" + $result write-host ("Your file new name is: " + $newname) #重新命名 %{Rename-Item $tmp -NewName ($newname -f $c++)} #移動命名好的檔案到別的目錄 Move-Item ($Data_Location + $i.name.ToString() + "\" + $newname ) -Desti nation $move_dir } cd .. } 先說,因為我不懂powershell,所以程式碼都是複製網路教學再經過小改而成XD 所以程式碼內容我也不一定全部都懂(? 如果有什麼問題,歡迎在下面提出。 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.185.118 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Programming/M.1579496211.A.E58.html ※ 編輯: Eveismywife (122.116.185.118 臺灣), 01/20/2020 13:43:43
1F:推 MAGICXX: 看到一堆87 qq 42.72.4.7 01/26 13:50







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP