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/cn.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灯, 水草

请输入看板名称,例如:BuyTogether站内搜寻

TOP