12/08/05 15:53:14.73 dHLUEPcS
@echo off
(for /f "delims=" %%I (テキストファイル) do set /p dummy=%%I) > 新テキストファイル
802:名無し~3.EXE
12/08/05 19:24:46.32 /6Pk7K3z
>>801
ありがとうございます!
色々試行錯誤して以下のようにしたら1行で出来ました。
(for /f "delims=" %%i in ('type in.txt') do @set /p dummy=%%i<nul) > out.txt
ところで「%%」を「%」にしてバッチファイルではなく直接コマンドプロンプトから入力すると
set文の実行内容がいちいちタイトルバーに表示されてパフォーマンスがものすごく落ちますね。
これってどうにもならないのでしょうか?まあバッチファイルでやればいいのですが、若干面倒なので…
803:名無し~3.EXE
12/08/06 21:22:45.57 LV5EBWGS
cmd /c (for /f "delims=" %i in ('type in.txt') do @set /p dummy=%i<nul) > out.txt
804:名無し~3.EXE
12/08/06 23:35:59.38 ZB+nrifm
>>803
ありがとうございます。
教えていただいたものをコマンドプロンプトに入力して実行すると
「指定されたファイルが見つかりません。」というエラーになります…
↓のように色々変えて試しましたがやはり同じエラーになりました。
何か原因がおわかりになるでしょうか?
cmd /c (for /f "delims=" %i in ('type in.txt') do @set /p dummy=%i<nul) > out.txt
cmd /c (for /f "delims=" %i in (type c:\in.txt) do @set /p dummy=%i<nul) > c:\out.txt
cmd /c (for /f "delims=" %i in ('type c:\in.txt') do @set /p dummy=%i<nul) > c:\out.txt
cmd /c (for /f "delims=" %i in ("type c:\in.txt") do @set /p dummy=%i<nul) > c:\out.txt
cmd /c (for /f "usebackq delims=" %i in (`type c:\in.txt`) do @set /p dummy=%i<nul) > c:\out.txt
cmd /c (for /f "delims=" %i in (c:\in.txt) do @set /p dummy=%i<nul) > c:\out.txt
cmd /c (for /f "delims=" %i in ('c:\in.txt') do @set /p dummy=%i<nul) > c:\out.txt
cmd /c (for /f "delims=" %i in ("c:\in.txt") do @set /p dummy=%i<nul) > c:\out.txt
cmd /c (for /f "usebackq delims=" %i in (`c:\in.txt`) do @set /p dummy=%i<nul) > c:\out.txt
805:名無し~3.EXE
12/08/06 23:39:57.54 ZB+nrifm
ちなみに
cmd /c "type in.txt" > out.txt
と入力するとin.txtと同一内容のout.txtが作成されるので
in.txtはきちんと存在しています。
806:名無し~3.EXE
12/08/07 00:16:01.54 1JXfprE0
cmd /c for /f "delims=" %i in ('type in.txt') do @set /p dummy=%i<nul > out.txt
807:805
12/08/07 00:53:51.87 ouQbeSLg
>>806
括弧取ればいいだけでしたか…orz
助かりました。どうもありがとうございます。
808:名無し~3.EXE
12/08/07 18:52:29.28 1JXfprE0
ごめんね確認しないで書いてるもんで
809:805
12/08/09 00:46:01.43 CvGiPjbA
>>808
いえいえ見返りもないのにレス頂けただけでもありがたいです。
お手数をお掛けしてすみませんでした。
810:名無し~3.EXE
12/08/09 23:20:20.95 LDsLhA1c
こんなところでこんな質問していいのかわかりませんけど・・・
コマンドプロンプトでNICの正常性を確認したい場合 どんなコマンドを使えばいいんでしょうか
systeminfoコマンドのみででわかるものなんでしょうか
811:名無し~3.EXE
12/08/10 02:22:05.79 HJMCAmsV
ping 127.0.0.1
812:名無し~3.EXE
12/08/10 02:39:13.81 MvUs+0Zv
>>811
TP線抜いたりデバイスマネージャでNIC無効にして試してみて
813:名無し~3.EXE
12/08/11 03:24:44.46 TBiUViGB
テキストファイルを長さゼロの行、又はスペース・タブ以外の文字が無い行を除外して表示させることは出来るのでしょうか?
以下のようなコマンドを考えましたが、これだと長さゼロの行は除外されるのですが、タブしか無い行が表示されてしまいます・・・
findstr "[^]" test.txt
814:名無し~3.EXE
12/08/11 17:29:27.41 EPp283Gd
findstr /v "[ \t]*"
815:名無し~3.EXE
12/08/11 21:07:12.33 TBiUViGB
>>814
やってみましたが、スペース1個だけの行もタブ1個だけの行も表示されてしまいます…
816:名無し~3.EXE
12/08/11 21:40:10.32 TBiUViGB
色々試したら↓でスペースだけの行も非表示にすることが出来ました。
findstr "[^]" test.txt | findstr /v /c:" "
タブの非表示方法は見つけられませんでした…
817:名無し~3.EXE
12/08/12 06:09:25.77 yViiJIGe
cmd /f
818:名無し~3.EXE
12/08/12 08:26:12.28 mofPEIWX
@if (0)==(0) echo off
cscript //nologo /e:jscript "%~f0" <test.txt
goto :eof
@end
var stdin=WScript.StdIn;
while(!stdin.AtEndOfStream) {
var data=stdin.ReadLine();
if (!data.match(/^[ \t]*$/)) WScript.StdOut.WriteLine(data);
};
819:816
12/08/12 22:27:36.56 dDRqHhz6
>>818
それでばっちりうまくいきました。ありがとうございます!
一応↓のようにしたら希望に近い動作にはなったのですが、
これだと内容のある行のタブも全てなくなってしまうという欠点があったので助かりました。
コマンドラインはタブの扱いは苦手なようですね…
more /t0 /s test.txt | findstr "[^]"
820:名無し~3.EXE
12/08/12 22:34:42.16 dDRqHhz6
あれ?
今やり直して見たら↓でうまくいくような気が・・・
more /s test.txt | findstr "[^]"
821:820
12/08/13 00:28:40.47 CN/4Vl7Y
たびたびすみません。やはり>>820のやり方だとダメですね。
結果をテキストファイルに出力してみるとタブが全て複数個のスペースに変換されていました。