首页 > 系统相关 >ソート順調整(power shell版)

ソート順調整(power shell版)

时间:2024-01-27 19:33:25浏览次数:31  
标签:targetFile% shell power echo 順調整 2% set rem PowerShell

ソート順調整(power shell版)

简易版
处理指定的单个文件。

单个文件或文件数量不多的时候,可以不用bat处理,
使用sakura进行sort一下就行。

@echo off
chcp 65001

rem 対象ファイル
set targetFile=D:\Workstation\BAT\常用\sample.txt

rem PowerShellのコマンドレットを組み立て(昇順でソート)
set psCommand="(Get-Content %targetFile%) | Sort-Object | Out-File -Encoding default %targetFile%"

rem PowerShellのコマンドレットを組み立て(降順でソート)
rem set psCommand="(Get-Content %targetFile%) | Sort-Object -Descending | Out-File -Encoding default %targetFile%"


rem PowerShellのコマンドレットを実行
powershell -NoProfile -ExecutionPolicy Unrestricted %psCommand%

rem 実行結果を確認
if %errorlevel%==0 (
  echo 正常終了しました。戻り値:%errorlevel%
) else (
  echo 異常終了しました。戻り値:%errorlevel%
)

echo.

pause
exit

 
 

处理多文件版

把处理文件夹拖拽到bat文件上,bat就被启动了。
此时,目标文件夹作为bat的第一个param。

把目标文件夹拷贝一份,同级目录下做成的新目录后面带有“_sort_时分秒”的后缀。
这样多次执行,不会出现文件覆盖提醒的问题。

@echo off
chcp 65001
setlocal enabledelayedexpansion

rem 対象ファイル
rem set targetFile=D:\Workstation\BAT\常用\sample.txt

rem PowerShellのコマンドレットを組み立て(昇順でソート)
rem set psCommand="(Get-Content %targetFile%) | Sort-Object | Out-File -Encoding default %targetFile%"

rem PowerShellのコマンドレットを組み立て(降順でソート)
rem set psCommand="(Get-Content %targetFile%) | Sort-Object -Descending | Out-File -Encoding default %targetFile%"


set time1=%time: =0%
set time2=%time1:~0,2%%time1:~3,2%%time1:~6,2%
set ymd=%date:~0,4%%date:~5,2%%date:~8,2%_%time2%
echo %ymd%


if not exist %1_sort_%ymd% (
  mkdir %1_sort_%ymd%
)

rem PowerShellのコマンドレットを実行
rem powershell -NoProfile -ExecutionPolicy Unrestricted %psCommand%

rem copy C:\before_folder\test.txt C:\after_folder\test_%str_date%.txt
rem copy %1 %1_sort

rem set str_date=%date:~0,4%%date:~5,2%%date:~8,2%
rem xcopy /E C:\test\test_folder\ C:\test\test_folder_%str_date%\
xcopy /E %1 %1_sort_%ymd%

rem echo %time%
rem ping -n 3 127.0.0.1 > nul 2>&1
rem echo %time%

for /r "%1_sort_%ymd%" %%f in (*.*) do (
  echo %%f
  set psCommand="(Get-Content %%f) | Sort-Object | Out-File -Encoding default %%f"
  rem PowerShellのコマンドレットを実行
  powershell -NoProfile -ExecutionPolicy Unrestricted !psCommand!
)

rem 実行結果を確認
if %errorlevel%==0 (
  echo 正常終了しました。戻り値:%errorlevel%
) else (
  echo 異常終了しました。戻り値:%errorlevel%
)
echo.

pause
exit

注意:echo. 是输出一个空行。

标签:targetFile%,shell,power,echo,順調整,2%,set,rem,PowerShell
From: https://www.cnblogs.com/langQ/p/17991832

相关文章

  • PowerShell编写Windows服务器的DDNS-ipv6客户端
    这个代码保存成ddnsv6.fm20.cn.ps1就能正常运行了functionGet-GUID(){#指定注册表路径$path="HKLM:\Software\Firadio\ddnsv6.fm20.cn"#如果注册表路径不存在则创建if(-not(Test-Path$path)){New-Item-Force-Path$path>$null}......
  • Shell常用语法
     Shell常用语法参考:shell中()、(())、[]、[[]]、{}的作用(很详细)https://blog.csdn.net/JineD/article/details/119945587单小括号,(cmd1;cmd2;cmd3)新开一个子shell顺序执行命令cmd1,cmd2,cmd3,各命令之间用分号隔开,最后一个命令后可以没有分号。单大括号,{cmd1;cm......
  • Shell脚本生成随机整数
     Shell脚本生成随机整数$RANDOM:使用当前的进程ID(PID)和当前时间/日期生成的,该时间/日期由自1970年以来经过的秒数定义。 1、urandom命令grep-m1-ao'[0-9]'/dev/urandom|seds/0/10/|head-n1 2、用$RANDOM 要生成范围:{0,..,9} r=$(($RANDOM%10))echo......
  • shell括号用法汇总
    总结:${}:作用是获取变量的结果,一般情况下,$var与${var}是没有区别的,但是用${}会比较精确的界定变量名称的边界范围。$[]:进行数学运算$():命令替换操作,同反应引号``,即命令的嵌套使用,将$()中包括的命令执行结果向外传递。举例:echotodayis$(date"+%Y-%m-%d")${}与$:$与${}都......
  • 你不知道的Linux shell操作
    LinuxShell脚本入门教程LinuxShell脚本是一种强大的工具,它允许您自动化日常任务和复杂操作。在本教程中,我们将逐步介绍几个实用的Shell脚本示例。每个示例都将详细说明,以便即使是初学者也能轻松理解和应用。1.基础Shell脚本示例1:"HelloWorld"每个编程学习之旅都......
  • shell安装powershell.exe
    #判断PowerShell是否已安装if["$OS"=="windows"];thenif!command-vpowershell.exe&>/dev/null;thenecho"PowerShell未安装,正在安装PowerShell..."#检查系统位数if["$(uname-m)"=="x86_64"......
  • SHELL AES ECB 加密解密
    SHELLAESECB加密解密AES(高级加密标准)算法可以使用ECB模式进行加密和解密。在Shell中,我们可以通过openssl命令来进行AES的ECB加密和解密操作。下面是示例代码:安装OpenSSL工具包(如果未安装):sudoapt-getinstallopenssl创建一个名为encrypt_decrypt.sh的脚本文件并编写以下......
  • 第十二天:SHELL编程之常见工具、数组及字符串切片
    一、信号捕捉traptrap命令可以捕捉信号,修改信号原来的功能,实现自定义功能#列出所有信号trap-l#进程收到系统发出的指定信号后,将执行自定义指令,而不会执行原操作trap'触发指令'信号#忽略信号的操作trap''信号#恢复原信号的操作trap'-'信号......
  • PowerShell 给命令取一个别名 ( 例子: pnpm -> n)(转载)
    查看一下profile文件的位置执行命令echo$PROFILE1output:C:\Users\Administrator\Documents\PowerShell\Microsoft.PowerShell_profile.ps11以自己电脑实际的输出位置为准(每个人的电脑输出可能不同)修改接下来到这个目录创建/修改这个脚本文件(第一次玩这个功能.应该都没有......
  • cmd&powershell有时会卡住(假死)的解决办法
    windows10cmd命令提示符/批处理/终端快速编辑模式bug程序运行被阻塞顶部标题栏提示选择需要回车或空格才能继续执行的解决方案... 问题描述:   开启命令行窗口后,按了一下键盘恢复,一下刷新一大片,这个问题就是像是假死一样,也不报错,这是怎么回事呢原因分析:cmd......