ForNext
Shut the fuck up and write some code
第二引数に指定されたファイルから読んで、第三引数に指定されたファイルに書く
VBScript
更新日 : 2008.05.23
■ 上書きモード
Dim objFs : Set objFs = CreateObject("Scripting.FileSystemObject") Dim objTextIn : Set objTextIn = objFs.OpenTextFile(WScript.Arguments(1), 1 ) Dim objTextOut : Set objTextOut = objFs.OpenTextFile(WScript.Arguments(2), 2, True) Do Until objTextIn.AtEndOfStream objTextOut.WriteLine objTextIn.ReadLine Loop objTextIn.Close objTextOut.Close Set objTextIn = Nothing Set objTextOut = Nothing Set objFs = Nothing
S:\>cscript //nologo s:\lesson004.vbs dummy s:\lesson002.vbs s:\test.txt S:\>type s:\test.txt Dim var1: var1 = "Hello" Dim var2: var2 = "World" WScript.Echo var1 + ", " + var2 + "!"
■ 追記モード
Dim objFs : Set objFs = CreateObject("Scripting.FileSystemObject") Dim objTextIn : Set objTextIn = objFs.OpenTextFile(WScript.Arguments(1), 1 ) Dim objTextOut : Set objTextOut = objFs.OpenTextFile(WScript.Arguments(2), 8, True) Do Until objTextIn.AtEndOfStream objTextOut.WriteLine objTextIn.ReadLine Loop objTextIn.Close objTextOut.Close Set objTextIn = Nothing Set objTextOut = Nothing Set objFs = Nothing
S:\>cscript //nologo s:\lesson005.vbs dummy s:\lesson002.vbs s:\test.txt S:\>type s:\test.txt Dim var1: var1 = "Hello" Dim var2: var2 = "World" WScript.Echo var1 + ", " + var2 + "!" Dim var1: var1 = "Hello" Dim var2: var2 = "World" WScript.Echo var1 + ", " + var2 + "!"
JScript
更新日 : 2008.05.23
■ 上書きモード
var objFs = WScript.CreateObject("Scripting.FileSystemObject"); var objTextIn = objFs.OpenTextFile(WScript.Arguments(1), 1 ); var objTextOut = objFs.OpenTextFile(WScript.Arguments(2), 2, true); do { objTextOut.WriteLine(objTextIn.ReadLine()); } while (! objTextIn.AtEndOfStream); objTextIn.Close(); objTextOut.Close();
S:\>cscript //nologo s:\lesson004.js dummy s:\lesson002.js s:\test.txt S:\>type s:\test.txt var var1 = "Hello"; var var2 = "World"; WScript.Echo(var1 + ", " + var2 + "!");
■ 追記モード
var objFs = WScript.CreateObject("Scripting.FileSystemObject"); var objTextIn = objFs.OpenTextFile(WScript.Arguments(1), 1 ); var objTextOut = objFs.OpenTextFile(WScript.Arguments(2), 8, true); do { objTextOut.WriteLine(objTextIn.ReadLine()); } while (! objTextIn.AtEndOfStream); objTextIn.Close(); objTextOut.Close();
S:\>cscript //nologo s:\lesson005.js dummy s:\lesson002.js s:\test.txt S:\>type s:\test.txt var var1 = "Hello"; var var2 = "World"; WScript.Echo(var1 + ", " + var2 + "!"); var var1 = "Hello"; var var2 = "World"; WScript.Echo(var1 + ", " + var2 + "!");
Perl
更新日 : 2008.05.23
■ 上書きモード
($dummy, $IN, $OUT) = @ARGV; open READ, "< $IN"; open WRITE, "> $OUT"; print WRITE while(<READ>); close WRITE; close READ;
S:\>perl s:\lesson004.pl dummy s:\lesson002.pl s:\test.txt S:\>type s:\test.txt $var1 = "Hello"; $var2 = "World"; print $var1, ", ", $var2, "!", "\n";
■ 追記モード
($dummy, $IN, $OUT) = @ARGV; open READ, "< $IN"; open APPEND, ">> $OUT"; print APPEND while(<READ>); close APPEND; close READ;
S:\>perl s:\lesson005.pl dummy s:\lesson002.pl s:\test.txt S:\>type s:\test.txt $var1 = "Hello"; $var2 = "World"; print $var1, ", ", $var2, "!", "\n"; $var1 = "Hello"; $var2 = "World"; print $var1, ", ", $var2, "!", "\n";
PHP
更新日 : 2008.05.23
■ 上書きモード
<?php $fin = fopen($argv[2], "r"); $fout = fopen($argv[3], "w"); while (!feof($fin)) { fwrite($fout, fgets($fin)); } fclose($fout); fclose($fin); ?>
S:\>php s:\lesson004.php dummy s:\lesson001.php s:\test.txt S:\>type s:\test.txt <?php $var1 = "Hello"; $var2 = "World"; print $var1, ", ", $var2, "!", "\n"; ?>
■ 追記モード
<?php $fin = fopen($argv[2], "r"); $fout = fopen($argv[3], "a"); while (!feof($fin)) { fwrite($fout, fgets($fin)); } fclose($fout); fclose($fin); ?>
S:\>php s:\lesson005.php dummy s:\lesson001.php s:\test.txt S:\>type s:\test.txt <?php $var1 = "Hello"; $var2 = "World"; print $var1, ", ", $var2, "!", "\n"; ?> <?php $var1 = "Hello"; $var2 = "World"; print $var1, ", ", $var2, "!", "\n"; ?>
Python
Ruby
更新日 : 2008.05.23
■ 上書きモード
dummy, source, target = ARGV open(source, 'r') do |s| open(target, 'w') do |t| s.each do |line| t.puts line end end end
S:\>ruby s:\lesson004.rb dummy s:\lesson003.rb s:\test.txt S:\>type s:\test.txt var1 = "Hello"; var2 = "World"; print var1, ", ", var2, "!", "\n";
■ 追記モード
dummy, source, target = ARGV open(source, 'r') do |s| open(target, 'a') do |t| s.each do |line| t.puts line end end end
S:\>ruby s:\lesson005.rb dummy s:\lesson003.rb s:\test.txt S:\>type s:\test.txt var1 = "Hello"; var2 = "World"; print var1, ", ", var2, "!", "\n"; var1 = "Hello"; var2 = "World"; print var1, ", ", var2, "!", "\n";
PowerShell
Scala
更新日 : 2012.05.15
val out = new java.io.PrintWriter(args(2)) scala.io.Source.fromFile(args(1)).getLines.foreach(out.println) out.close
T:\>scala lesson0003.scala dummy s:\lesson003.rb s:\test.txt T:\>type s:\test.txt var1 = "Hello"; var2 = "World"; print var1, ", ", var2, "!", "\n"; var1 = "Hello"; var2 = "World"; print var1, ", ", var2, "!", "\n";
F#
C
C++
C++Builder
VC++
C#
更新日 : 2012.05.10
using System; using System.IO; class lesson0006 { static void Main(string[] args) { TextReader input = new StreamReader(args[1]); TextWriter output = new StreamWriter(args[2], false, System.Text.Encoding.GetEncoding("Shift_JIS")); // 追記なら true string line; while ((line = input.ReadLine()) != null) { output.WriteLine(line); } input.Close(); input.Dispose(); output.Close(); output.Dispose(); } }
S:\>csc lesson0006.cs /nologo S:\>lesson0006 dummy s:\lesson003.rb s:\test.txt S:\>type s:\test.txt var1 = "Hello"; var2 = "World"; print var1, ", ", var2, "!", "\n"; var1 = "Hello"; var2 = "World"; print var1, ", ", var2, "!", "\n";
Java
更新日 : 2012.05.10
import java.io.*; public class lesson0006 { public static void main(String args[]) throws Exception { BufferedReader input = new BufferedReader(new InputStreamReader(new FileInputStream(args[1]))); BufferedWriter output = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(args[2]),"SJIS")); // 追記なら args[2], true String line; while ((line = input.readLine()) != null) { output.write(line); output.newLine(); } output.flush(); output.close(); input.close(); } }
S:\>javac lesson0006.java S:\>java -cp . lesson0006 dummy s:\lesson003.rb s:\test.txt S:\>type s:\test.txt var1 = "Hello"; var2 = "World"; print var1, ", ", var2, "!", "\n"; var1 = "Hello"; var2 = "World"; print var1, ", ", var2, "!", "\n";