Articles of shell

如何将多个文件名传递给上下文菜单命令

将一个文件名传递给上下文菜单的shell命令很简单: [HKEY_CLASSES_ROOT\*\shell\MyProgram\Command] @="program.exe %1" 但是,如果我select了多个文件, 每个这样select的文件都会调用program.exe 。 我想要做的只是调用一次program.exe ,传递给它当前select的所有文件名。 这个怎么做?

如何复制/剪切文件(而不是内容)到命令行中的Windows剪贴板?

有没有办法从命令行复制(或剪切)到Windows剪贴板的文件? 特别是使用批处理脚本。 我知道如何将内容复制到剪贴板( type file | clip ),但事实并非如此。 我想拥有整个文件,因为我会在Windows资源pipe理器中按Ctrl + C。

用Powershell计算文件夹

有谁知道一个PowerShell 2.0命令/脚本来计算特定文件夹中的所有文件夹和子文件夹(recursion;没有文件)(例如在C:\ folder1 \ folder2中的所有子文件夹的数量)? 另外我还需要所有“叶子” – 文件夹的数量。 换句话说,我只想计算没有子文件夹的文件夹。

如何find只有两个层次的子目录?

我有一个脚本列出了一个文件夹中的所有子目录,并将它们放在一个文件中: dir "\\test\e$\1" /a:d /s /b | sort>"C:\folders.txt 效果看起来像这样: \\test\e$\1 \\test\e$\1\target1 \\test\e$\1\target1\in \\test\e$\1\target1\out \\test\e$\1\target2 \\test\e$\1\target2\in \\test\e$\1\target2\out \\test\e$\1\target3 \\test\e$\1\target3\in \\test\e$\1\target3\out \\test\e$\2 \\test\e$\2\target1 \\test\e$\2\target1\in \\test\e$\2\target1\out \\test\e$\2\target2 \\test\e$\2\target2\in \\test\e$\2\target2\out \\test\e$\2\random_folder_without_in_subfolder 我真正需要的是: \\test\e$\1\target1 \\test\e$\1\target2 \\test\e$\1\target3 \\test\e$\2\target1 \\test\e$\2\target2 甚至更好(如果可能)在这种forms(分隔符:“ |: ”): \\test\e$\1\target1|:\\test\e$\1\target2|:\\test\e$\1\target3|:\\test\e$\2\target1|:\\test\e$\2\target2

更好的windows命令行shell

有一个更好的Windows命令行shell而不是cmd ,它有更好的Windows窗口和控制台窗口之间的复制粘贴?

如何在不指定完整path的情况下运行一个Python脚本

有没有一种可移植的方式来从一个shell中运行一个python脚本而不写它的完整path? 例如在Linux中,我想在我的主目录 cd ~ 能够运行一个名为run.py的python脚本,就是说〜/ long / path / to / run.py,但是我想通过简单的运行来运行它 python run.py 代替 python ~/long/path/to/run.py 我希望某种searchpath列表包含几个目录,就像PATHvariables一样,以便python run.py运行在其中一个目录中遇到的第一个run.py。 我已经考虑将run.py转换为可执行文件并将其目录添加到系统PATHvariables中,但找不到可执行python脚本的可移植方式。 编辑 一年后,我问了一下,我是一个小noob,我看到我的问题不是很清楚,没有多less意义,所以在一个问题提出后,我会澄清一些事情。 1)便携式。 当我问到这个时,我说便携式。 然而,在这种情况下,什么便携手段还不清楚,我也不太重视。 平台:应该在POSIX(Linux,MacOS等)和Windows上工作 由于windows使用cmd.exe ,而POSIX使用sh ,所以这仍然没有什么意义,所以每个人都可以用不同的语法来运行命令。 因此,让我们说,最便携的东西可能是将相同的input提供给sh和cmd.exe ,在这两种情况下运行python脚本。 在这种情况下,可以从ANSI C system函数运行相同的命令,该函数在Windows上使用POSIX和cmd上的sh 。 ANSI C是Windows和POSIX常见的less数几个事情之一,这个问题在这种情况下是有道理的。 2)可执行 接下来, turning run.py into an executable的语句不是很清楚。 通过这个,我正在谈论chmod +x run.py的Linux策略,添加一个shebang #!/usr/bin/env python ,并将其目录添加到系统中添加〜/ long / path / to […]

如何将VB脚本的输出写入文件?

我有一个脚本,将输出某些命令的值到terminal?任何人都可以帮助我修改脚本将输出写入文件? :: Open a Telnet window start telnet.exe 192.168.1.1 :: Run the scrip cscript SendKeys.vbs set OBJECT=WScript.CreateObject("WScript.Shell") WScript.sleep 50 OBJECT.SendKeys "Administrator{ENTER}" WScript.sleep 50 OBJECT.SendKeys "admin{ENTER}" WScript.sleep 50 OBJECT.SendKeys "{ENTER}" For i = 1 to 10 i = i – 1 OBJECT.SendKeys "voice profile list{ENTER}" WScript.sleep 5000 OBJECT.SendKeys "system debug cpu{ENTER}" WScript.sleep 2000 OBJECT.SendKeys "memm stats{ENTER}" […]

脚本参数在Bash中

我试图做一个shell脚本,应该这样使用: ocrscript.sh -from /home/kristoffer/test.png -to /home/kristoffer/test.txt 然后该脚本将ocr将图像文件转换为文本文件。 这是我到目前为止所提出的: #!/bin/bash export HOME=/home/kristoffer /usr/local/bin/abbyyocr9 -rl Swedish -if ???fromvalue??? -of ???tovalue??? 2>&1 但是我不知道如何得到-from和-to值。 任何想法如何做到这一点?

cmd是以某种方式写中文文本作为输出

我有一些与cmd.exe的麻烦,我有时使用它来创build文件,并在那里写输出。 但是,如果我尝试这个: wmic logicaldisk get name, freespace >> output.txt echo %date% >> output.txt 我开始它2-3次,我得到一个output.txt像: FreeSpace Name 17990881280 C: D:㠱〮⸴〲㈱ഠ䘊爀攀攀匀瀀愀挀攀 一愀洀攀 ഀ਀㄀㜀㤀㤀 㠀㠀㄀㈀㠀 䌀㨀 ഀ਀ 䐀㨀 ഀ਀㄀⸸㐰㈮㄰′਍ 那么这里的中文文字看起来很有趣,但我想看看date。 我认为编码随着date而改变。 因为如果我做echo%date%>> output.txt一切都很好,我得到的date。 我该怎么做,我想获得wmic输出和date。 有任何想法吗? 谢谢

Subprocess.call或Subprocess.Popen不能使用PATH(Linux / Windows)中的可执行文件

我正在编写一个程序,需要在Linux和Windows上运行,并使用path中存在的可执行文件(带有参数)。 (假定) 目前,我在使用Subprocess.Call和Subprocess.Popen在Windows中运行可执行文件时遇到问题。 对于这样的代码,在Windows 8中 def makeBlastDB(inFile, inputType, dbType, title, outDir): strProg = 'makeblastdb' strInput = '-in ' + inFile strInputType = '-input_type ' + inputType strDBType = '-dbtype ' + dbType strTitle = '-title ' + title strOut = '-out ' + os.path.join(os.sep, outDir, title) cmd = [strProg, strInput, strInputType, strDBType, strTitle, strOut] result […]