meta refreshを使ったリダイレクトHTMLファイルを一括生成する
ホーム > ブログ | 検索
Yahoo!ジオシティーズが終了との事で、サイトを引っ越さないといけなくなりました。ジオシティーズの転送設定はどのページも引越し先のトップページにしか転送してくれないようです。また、.htaccessも使えないようなので、meta refreshを使ったリダイレクトHTMLファイルを一括生成するプログラムを書きました。
簡単に説明を
1.作成したいファイル名を列挙したinput.txtを作成します。(参考:dir /b > input.txt)
2.redirect.cを必要に応じて修正しコンパイルします。
3.redirect.exeを実行します。※
※元あるファイルを強制的に上書きします(同名ファイルの有無に関わらず作成します)。作業用のディレクトリで実行してください。自己責任でお使いください。よくわからない方は使わないほうが無難です。
環境
Windows10 ver.1803
Visual Studio 2012
作成例:input.txt
-----
abc1.html
abc2.html
abc3.html
-----
作成例:redirect.c
-----
#include <stdio.h>
#include <process.h>
void file_write(char name[])
{
FILE *fp;
int i;
for(i=0;name[i]!='\0';i++){
if(name[i]=='\n') name[i]='\0';
}
if((fp=fopen(name,"w"))==NULL){
printf("FILE not open 2\n");
exit(1);
}
fputs("<!doctype html>\n",fp);
fputs("<html lang=\"ja\">\n",fp);
fputs("<head>\n",fp);
fputs(" <meta charset=\"Shift_JIS\">\n",fp);
fputs(" <meta http-equiv=\"refresh\" content=\"0; url=https://example.com/",fp);
fputs(name,fp);
fputs("\">\n",fp);
fputs("</head>\n",fp);
fputs("<body>\n",fp);
fputs("このページは移転しました。0秒後に自動で移動します。移動しない場合は<a href=\"https://example.com/",fp);
fputs(name,fp);
fputs("\">こちら</a>をクリックしてください。<br>\n",fp);
fputs("</body>\n",fp);
fputs("</html>\n",fp);
fclose(fp);
}
void main(void)
{
char buf[256];
FILE *fp;
if((fp=fopen("input.txt","r"))==NULL){
printf("FILE not open 1\n");
exit(1);
}
while(fgets(buf,256,fp)!=NULL){
file_write(buf);
}
fclose(fp);
}
-----
関連
1.コマンドプロンプトでファイル名だけの一覧を表示する
2.コマンドの出力先をファイルにする
作成 2018/11/05
更新 2018/11/05
戻る | サイト内検索 | 免責事項