我已经找到了很多类似问题的解决方案,但我想知道是否可以创建一个脚本,在达到预设文件夹大小限制后删除最旧的文件? 最佳答案 你需要解决两个问题。首先,您需要计算文件夹的大小。使用类似于此的代码:foldersizesetsz=0for%%Fin(%1\*.*)do(set/akb=%%~zF/1024set/asz=!sz!+!kb!echo%%F%%~zF!kb!!sz!)goto:eof其次,您需要识别旧文件并删除它们,直到达到一定大小for/F"tokens=*"%%Fin('dir/A-D/OD/B%1\*.*')do(if!
全部我实现了我的第一个PowerShell脚本,该脚本执行一些设置、设置注册表项,最后需要重新启动服务。问题是我只有可执行文件的名称,但没有服务名称。Restart-Service只能与服务名称一起使用。谷歌搜索(还有Binging)并没有给我太多结果。我想知道有没有办法通过可执行名称重启服务?我知道我可以通过可执行文件名称获取进程,但仅仅终止进程并重新启动它并不是一个好的选择,因为服务启动/停止函数未被调用并且它可能无法正常工作。谢谢。 最佳答案 您可以尝试使用wmi并执行如下操作:(gwmiwin32_service|?{$_.
在批处理(.bat)中,如果我有一个如下所示的文件:test1test2test3如何重写该文件的内容使其位于同一行?例如:test1,test2,test3提前致谢!尼克拉斯 最佳答案 使用for/f命令逐行读取文件。然后,您可以将结果累积到一个变量中以供最终输出。 关于windows-将多行批处理为一行?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/7837757/
我想在Windows中使用linuxexpect脚本。我在Windows中尝试使用perlexpect模块expect.pm,它不工作。请建议我是否可以在不使用cygwin的情况下使用与expect类似的语言。 最佳答案 expect是Tcl之上的免费软件,所以我想你应该在你的系统上安装Tcl。并且根据其网页,expect已移植到Windows。 关于windows-是否有任何可用的脚本语言与expect脚本的linux完全相似,我们在StackOverflow上找到一个类似的问题:
我有以下代码:@echooffsetscriptTitle=ModeChangertitle%scriptTitle%remTakeDetailsset/pmachine=Entermachinename:%=%echo.%machine%set/prMSNewMode=Mode(t/l):%=%echo.%rMSNewMode%remPerformTaskclsremCheckmachineexistenceping%machine%-n1if%errorLevel%==1call:error"Thespecifiedmachine(%machine%)couldnotbelocat
我正在编写一个powershell脚本,但在评估boolean表达式时遇到问题。这是我遇到问题的代码行:if(Get-Content.\Process2Periods.xmla|Select-String((Get-Date)|Get-Date-Format"yyyyMM")-quiet-neTrue)我在尝试运行时收到此错误消息:Select-String:Aparametercannotbefoundthatmatchesparametername'ne'.请帮助我理解这个问题。还有一点上下文,我正在文件中搜索一个字符串,如果它不存在,我想执行ifblock中的内容。我没有将代码粘
我有一个存储在文本文件中的目录路径,我需要在脚本中CD到该目录,但不知道如何操作。我希望它会是这样的catFILE|cd但这并不容易。顺便说一下,这是一个windows环境,在unix/linux中很容易:cd`catFILE`谁能帮帮我? 最佳答案 set/pdirname=可以找到set(对于XP)的文档here./p:Setsthevalueofvariabletoalineofinput. 关于windows-CD到目录,路径在文件中,我们在StackOverflow上找到一个类
我想创建许多名称类似于folder_x的文件夹,其中x是小于256的偶数。是否有unix命令/dos命令或一些我可以运行的shellscript来执行此操作?或者可能是一些可以创建大量文件夹的免费实用程序?我想在Windows上执行此操作。 最佳答案 在bash和其他兼容的shell中:foriin$(seq02255);domkdir"folder_$i";done 关于windows-如何批量命名根据某些表达式命名的文件夹,我们在StackOverflow上找到一个类似的问题:
我有500个文件进来,我需要先检查是否存在任何文件,然后重命名所有文件,不管它们的文件名是什么(文件以不同的语言命名)。无需按任何顺序处理它们。重命名:1.“¦X¼d¬f-20110703-¦+¦dñHÑ-ª-¦=¬¦.xls”2.“¦X¼d¬f-20110707-¦+¡¦-+¡8.xls”3.“¦X¼d¬f-20110707-¦+¡¦ñj¦«.xls”4.“¦X¼d¬f-20110708-¦+¡¦¬M¼n.xls”5.“¦X¼d¬f-20110713-¦d¼O¼n¦hÑP.xls”...500收件人:“TWN_CH_INV_VISIT_FORM_01.xls”“TWN_CH_INV_
我正在尝试执行以下行:exit|sqlplususername/password@sid@test.sql在cmd中运行良好,但在powershell中我得到“不允许使用空管道元素”为什么会这样,我该如何解决? 最佳答案 好吧,exit命令没有输出,所以没有任何东西可以传递给管道,因此您得到一个空的管道元素。因此,虽然没有任何内容可以通过管道传输到其他命令,但问题是它是否真的应该执行。此外,cmd中的shell内置命令,例如exit、dir等,在Powershell中的工作方式可能有所不同。别名只是为了帮助习惯。解决这个问题可能很容