草庐IT

Shell脚本2

全部标签

windows - 为什么控制台输出会阻止自引用批处理脚本干净地退出?

我正在编写一个自引用Windows10(家庭版)批处理脚本,以在大量日志文件中定位一个字符串,创建一个结果文件,完成后,在Notepad++中打开日志文件。这个过程有时需要几分钟,因此自引用部分允许我将控制权返回到原始命令窗口,直到打开日志文件(并获得焦点)。但是,当第二个命令窗口以“start”命令和“/b”开关启动时,至少包含一个“echo”命令,它不会干净地退出,需要我按Enter键才能完全退出退出那个“嵌套”命令窗口。我已将代码提炼为九行,希望您能明白我的意思。要查看它的实际效果,请将以下内容保存为“test.bat”并从命令提示符运行它:@echooffif"%1"EQU""

windows - 来自脚本的 TortoiseGit Git 提交消息

我在TortoiseGit中生成了StartCommitHook,它调用StartComit.bat文件并启用选项“等待脚本完成”。bat文件内容为echo"Somemoreinfo....">>%1脚本在之前提交对话框打开但它不工作,我在消息字段中没有收到任何文本。我在这里做错了什么?编辑:为了让问题更清楚,我正在尝试放弃这个已接受的答案https://stackoverflow.com/a/3967136/596935并做类似的事情。 最佳答案 %1是启动提交对话框时包含所有选定文件的文件路径,而不是%2消息的文件路径。参见ht

windows - 如何在批处理脚本中刷新 PATH 环境变量

我有一个批处理文件“file.bat”,它将使用以下命令调用安装程序:msiexec.exe/i"%~dp0\installer.msi"安装程序将安装程序并更新Path变量。虽然这工作正常,但问题是当我尝试启动程序时找不到它,因为显然PATH变量没有更新。我尝试从内部重新启动批处理文件:startcmd/cfile.bat但是没有用。有没有办法刷新PATH变量或者在新进程中重新启动批处理文件,以便它检测到新环境?PS:手动重启批处理文件当然可以,但这不是我想要的。谢谢。 最佳答案 最简单的方法,使用Chocolatey(免费)。然

windows - 如何从路径中有空格的 PowerShell 5.0 脚本调用批处理文件?

我正在尝试从PowerShell5.0脚本调用批处理文件。批处理文件的路径是:\\192.168.0.1\hde_path\ToolsPowershell\abc.cmd所以,我的路径里面有一个空白,我试着用下面的方式调用它..cmd.exe/c"'\\192.168.0.1\hde_path\ToolsPowershell\abc.cmd'"现在,它给出错误:Thesystemcannotfindthefilespecified.但是,请注意:此文件abc.cmd存在于此位置。我可以访问这个位置。因为,我可以通过命令提示符运行这个abc.cmd文件,没有任何问题。同样,当我将abc.

excel - 如何使用批处理脚本和命令行参数打开特定的 excel 文件?

我设计了一个Excel电子表格,它使用RTD源从服务器获取数据并进行处理。我希望excel文件在计算机启动期间自动打开。我决定这样做的方法是编写一个打开excel文件的批处理脚本,然后将该批处理脚本放入计算机启动文件夹中。我遇到的问题与批处理脚本有关。如果我使用excel的默认快捷方式,则RTD提要不起作用。相反,我必须使用具有以下目标行的快捷方式:"C:\ProgramFiles(x86)\MicrosoftOffice\root\Office16\EXCEL.EXE"/a"CompanyExcelAddin.CompanyFunctions"我可以使用这个命令行打开文件start`

node.js - 为什么我的 'npm start' 脚本导致错误 : '.' is not recognized as an internal or external command, 可运行程序或批处理文件。?

Windows10Nodev8.1该项目的package.json文件由一个“脚本”对象组成,该对象包含一个“开始”脚本,该脚本尝试从“./node_modules/nodemon/bin/nodemon.js”加载nodemon.js,但我一直收到这个错误“。”不是内部或外部命令、可运行程序或批处理文件。我相信这与我的环境变量有关,但我仍然很困惑。我是否需要在我的PATH环境变量中添加到我项目的node_modules目录的路径?提前致谢。 最佳答案 够用了"start":"nodemon"当您运行npmscripts时,它会自动

windows - 在 perl 脚本中或与 perl 脚本一起使用 utf8

我在德语Windows7下运行最新的perl,我想在我的perl程序中的任何地方使用utf8(用于脚本、文件内容、文件名、邮件文本等)。一切正常,但在尝试处理文件名中包含特殊字符的文件时遇到问题。甚至system调用也无法正常工作。那么(如何)我可以告诉perl使用utf8everywhere?我用encode和decode尝试了一段时间,但很不清楚为什么它能正常工作...我还需要encode('cp850',TEXT)以便在命令提示符窗口中正确显示。例子:当我需要复制一个文件时,只有当我使用File::copy(encode("iso-8859-1",$filename),...)并

c# - 缩略图 shell 扩展 .NET

有人知道用C#编写的适用于winXP的工作缩略图shell扩展吗?此外,如果不存在,是否有人知道如何在C#中实现IExtractImage接口(interface)和所有需要的结构?提前致谢。注意:它可以使用.NET4来完成,并且所有在一个代码框架中提供了它的示例,但没有用于preVista系统的示例。 最佳答案 官方说法是shell扩展不应该写在托管代码中。比如看什么Raymond不得不说。或来自MSDN的官方专线. 关于c#-缩略图shell扩展.NET,我们在StackOverfl

Windows批处理文件脚本,用于将每十个文件从一个文件夹复制到另一个文件夹

我在一个目录中有许多文本文件,我想根据文件的名称/字母顺序选择每十个文件(即第10、20、30、40等文件)并将它们复制到另一个文件夹。例如:我有一个文件夹C:\documents\source\包含以下文件:12.txt16.txt2007.txt2008.txt200865.txt2008616263.txta.txtacross.txtaddition.txtalbum.txtAmerican.txtan.txtand.txtApril.txtarticle.txtArtist.txtat.txtAward.txtAwards.txtAwards64.txtBad.txtBest

windows - 如何在 Windows 7/2008 中自动执行 perl 脚本?

我想每周执行一个perl脚本。我查看了TaskScheduler,但当我选择.pl文件并运行任务时,它所做的只是在notepad++中打开.pl文件。然后我尝试让TaskScheduler运行一个.bat文件:perlgoto.pl当我在桌面(这是我工作的地方)上双击它时它可以工作,但当我运行任务时只会闪烁一个命令提示符屏幕。我在谷歌上进行了大量搜索,很多人都遇到了这个问题,解决方案似乎是“更改权限”或“将完整路径名添加到perl.exe和.pl文件中,不带引号”。文件和桌面文件夹都具有完全控制/权限,我是管理员帐户,所以这似乎不是解决方案。我的perl脚本输出到一个文本文件,我希望每