Board logo

标题: [文本处理] 批处理文件复制的求教 [打印本页]

作者: aozhouduwang    时间: 2018-11-3 11:08     标题: 批处理文件复制的求教

1.含两个功能,可选择功能2或者功能3。
2.将当前文件夹及子目录内所有的文本文件(不是txt,但用txt可以打开,文本后缀可以扩展)内容复制到当前目录下并新建一个txt文件(只能复制内容,不能复制文件-这是重点)(含原后缀,如aa.cp.txt,原文件是aa.cp的文本,复制后是aa.cp.txt,只能复制内容到新的文本)。
3.将当前文件夹及子目录内所有的原文件(如aa.cp)删除,然后将第2步复制的新文本(如aa.cp.txt)重命名(取消.txt),即和原文件名一样(或者原文件不删除,直接重命名后覆盖也行)。

作者: xczxczxcz    时间: 2018-11-3 21:03

本帖最后由 xczxczxcz 于 2018-11-3 23:14 编辑
  1. $ext=(dir .\*.*|select -last 1).Extension
  2. Foreach($file in (Gc (Dir ".\*.*" -Recurse -Exclude "*.ps1"))){"$file"|Ac ".\new.$ext.txt"}
  3. Move-Item ".\new.$ext.txt" ".\new.$ext"
  4. pause
复制代码
保存为 XXX.ps1


下面这个是按后缀类型归类。
  1. (dir .\*.* -Recurse -exclude "*.ps1").extension |sc ".\xyz"
  2. [System.Collections.Generic.HashSet[string]]$lines=gc ".\xyz" -ReadCount 0|Select -Unique
  3. sc ".\xyz1" -Value ($lines -join "`r`n");
  4. Foreach($ext in (gc ".\xyz1")){Foreach($file in (Gc (Dir ".\*$ext" -Recurse))){"$file"|Ac ".\Total$ext"};};
  5. remove-item ".\xyz*"
  6. pause
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2