[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理文件复制的求教

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 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
复制代码

TOP

返回列表