c - 如何将字符的值传递给c中的另一个.bat文件?

标签 c batch-file

我试图制作一个程序,通过给它一个参数来调用批处理文件。主要错误是我无法将值/字符串传递/发送到批处理文件。当我运行时,它显示字符的名称(或任何名称),但我希望它显示存储在该字符中的字符串。 C程序的源代码是:-

#include <stdio.h>
#include <stdlib.h>

void main(char a)
{
    a="hello sir";
    system("batch.bat a");
}

批处理文件的代码是:-

@echo off
SET x=
SET x=%x%%1
ECHO %x%
PAUSE

将此文件另存为batch.bat并运行c程序。 输出只显示“a”而不是a的值(“hello Sir”) 我希望它显示“你好先生” 请尽快尝试回答。:-)

最佳答案

尝试类似的事情:

#include <stdio.h> 
#include <stdlib.h>

void main(char **arg)
{
  char cmd[20]="batch.bat ";
  strncat(cmd,argv[1],sizeof(cmd)-strlen(cmd)-1);
  system(cmd);
}

关于c - 如何将字符的值传递给c中的另一个.bat文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46351787/

相关文章:

Windows 批量移动到可能不存在的目录

python - C 或 Python 中的快速最大二分匹配

c - ANSI C编程

windows - 批处理文件抛出错误但是当每个命令在命令行中单独运行时它工作正常

MySQL - 调用批处理文件来运行 MySQL 查询

windows - 如何检查 Windows .bat 脚本中 32 位 Program Files 文件夹的位置

c - WinAPI,发布/发送具有 64 位值的消息(wParam、lParam)

c - 如何将 Intel Assembly C 转换为 AT&T C++

c - 解释DWORD在串行通信中的使用

batch-file - 使用bat脚本写入文本文件: missing character