#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]){
 FILE *file1;
 FILE *file2;
 char inp[255];  
 if(argc > 1){
  file1 = fopen(argv[1], "rb");
  if(!file1)return 0;
  strcpy(inp,argv[0]);
  for(int i=strlen(inp)-1 ;i>=0;i--){
   if(inp[i] == '\\')
    break;
   else
    inp[i] = '\0';
  }
  strcat(inp,"test.txt");
  file2 = fopen(inp, "w");
  if(!file2)return -1;
  //ここ適当↓
  while( (fgets(inp,sizeof(inp),file1)) ){
   fprintf(file2,inp);
  }
  fclose(file1);fclose(file2);
 }
 else{
  printf("引数が足らん");
 }
 return 0;
}
結局ディスクを検索しても出てこなかったので、argv[0]のパスからexeのディレクトリを取り出して出力してみた。
変数とかファイル出力は適当。一応これでドラッグ&ドロップでファイル作れた。