Windows环境下可以实现Linux部分命令

目录

1.vi/vim

2.rm

3.cp

​​​​​​​4.ffc

5.ffcc


1.vi/vim

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<math.h>
#include<string.h>
int main(int argc,char *argv[]){
srand(time(0));
FILE *write = fopen(argv[1], "w");
time_t current_time = time(NULL);
struct tm *local_time = localtime(&current_time);
fprintf(write, "/*================================================================\n");
fprintf(write, "*   Copyright (C) %d GZQ All rights reserved.\n", local_time->tm_year + 1900);
fprintf(write, "*   文件名称:%s\n", argv[1]);
fprintf(write, "*   创 建 者:AbsoluteThree\n");
fprintf(write, "*   创建日期:%s\n", asctime(local_time));
fprintf(write, "*   描    述:%s\n", argv[2]);
fprintf(write, "================================================================*/\n");
char dest_c[3];
char dest_cpp[5];
char dest_java[6];
char dest_[strlen(argv[1]) - 5];
strncpy(dest_c, argv[1] + strlen(argv[1]) - 2, 2);
strncpy(dest_cpp, argv[1] + strlen(argv[1]) - 4, 4);
strncpy(dest_java, argv[1] + strlen(argv[1]) - 5, 5);
dest_c[2]='\0';
dest_cpp[4]='\0';
dest_java[5] = '\0';
if(strlen(argv[1])>5){
    strncpy(dest_, argv[1], strlen(argv[1]) - 5);
    dest_[strlen(argv[1]) - 5] = '\0';
}
if(strcmp(dest_c,".c")==0){
    fprintf(write,"#include<stdio.h>\n");
    fprintf(write,"#include<stdlib.h>\n");
    fprintf(write,"#include<time.h>\n");
    fprintf(write,"#include<math.h>\n");
    fprintf(write,"#include<string.h>\n");
    fprintf(write,"\n");
    fprintf(write,"int main(int argc,char *argv[]){\n");
    fprintf(write,"srand(time(0));\n");
    fprintf(write,"\n");
    fprintf(write, "printf(\"hello\\n\");\n");
    fprintf(write,"return 0;\n");
    fprintf(write,"}\n");
}else if (strcmp(dest_cpp,".cpp")==0)
{
    fprintf(write, "#include <bits/stdc++.h>\n");
    fprintf(write, "#include <cstdio>\n");
    fprintf(write, "#include <cstdlib>\n");
    fprintf(write, "#include <ctime>\n");
    fprintf(write, "#include <cstring>\n");
    fprintf(write, "#include <iostream>\n");
    fprintf(write, "using namespace std;\n");
    fprintf(write, "\n");
    fprintf(write, "int main(int argc,char *argv[]){\n");
    fprintf(write, "srand(time(0));\n");
    fprintf(write, "\n");
    fprintf(write, "cout<<\"hello\"<<endl;\n");
    fprintf(write, "return 0;\n");
    fprintf(write, "}\n");
}else if (strcmp(dest_java,".java")==0)
{
    fprintf(write,"public class %s{\n",dest_);
    fprintf(write,"  public static void main(String[] args){\n");
    fprintf(write,"    System.out.println(\"Hello,World!\");\n");
    fprintf(write,"  }\n");
    fprintf(write,"}");
}

fclose(write);
return 0;
}

2.rm

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<math.h>
#include<string.h>

int main(int argc,char *argv[]){
srand(time(0));
const char *filename = argv[1];
if(remove(filename)==0){
    printf("文件删除成功\n");
}else
{
    perror("删除失败");//输出具体原因
}


return 0;
}

3.cp

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<math.h>
#include<string.h>
int main(int argc,char *argv[]){
srand(time(0));
char ch;
FILE *read = fopen(argv[1],"r");
FILE *write = fopen(argv[2],"w");
if(read == NULL || write == NULL){
    printf("文件打开失败!没有完成复制功能\n");
    return 0;
}
while ((ch = fgetc(read))!=EOF)
{
    fputc(ch,write);
}
fclose(read);
fclose(write);
return 0;
}

4.ffc

@echo off
set "CurrentPath=%cd%"
echo Set WshShell = WScript.CreateObject("WScript.Shell") > temp.vbs

echo WshShell.SendKeys "^k" >> temp.vbs

echo WScript.Sleep 100 >> temp.vbs

echo WshShell.SendKeys "^w" >> temp.vbs

cscript //nologo temp.vbs

del temp.vbs
cls
chcp 936 >nul
set /p filedir=请输入创建文件夹的目录(如[../../]上一级目录,[../]同一级目录,[./]子目录):
set /p filename=请输入创建的文件夹名:
cd "%CurrentPath%" || (echo 路径切换失败 & exit /b 1)
cd "%filedir%" || (echo 路径切换失败 & exit /b 1)
md "%filename%" 2>nul || (echo 目录创建失败 & exit /b 1)
cd "%filename%" || (echo 路径切换失败 & exit /b 1)
(
  echo #include^<stdio.h^>
  echo #include^<stdlib.h^>
  echo #include^<time.h^>
  echo #include^<math.h^>
  echo #include^<string.h^>
  echo.
  echo int main^(^)^{
  echo srand^(time^(0^)^);
  echo.
  echo printf^("Hello World!\n"^);
  echo return 0;
  echo ^}
) > main.c
code main.c

5.ffcc

@echo off
set "CurrentPath=%cd%"
echo Set WshShell = WScript.CreateObject("WScript.Shell") > temp.vbs

echo WshShell.SendKeys "^k" >> temp.vbs

echo WScript.Sleep 100 >> temp.vbs

echo WshShell.SendKeys "^w" >> temp.vbs

cscript //nologo temp.vbs

del temp.vbs
cls
chcp 936 >nul
set /p filedir=请输入创建文件夹的目录(如[../../]上一级目录,[../]同一级目录,[./]子目录):
set /p filename=请输入创建的文件夹名:
cd "%CurrentPath%" || (echo 路径切换失败 & exit /b 1)
cd "%filedir%" || (echo 路径切换失败 & exit /b 1)
md "%filename%" 2>nul || (echo 目录创建失败 & exit /b 1)
cd "%filename%" || (echo 路径切换失败 & exit /b 1)
(
  echo #include^<bits/stdc++.h^>
  echo #include^<cstdio^>
  echo #include^<cstdlib^>
  echo #include^<ctime^>
  echo #include^<cmath^>
  echo #include^<cstring^>
  echo #include^<iostream^>
  echo using namespace std;
  echo.
  echo int main^(^)^{
  echo srand^(time^(0^)^);
  echo.
  echo printf^("Hello World!\n"^);
  echo return 0;
  echo ^}
) > main.cpp
code main.cpp

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值