問題タブ [dos]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - バッチスクリプトに、Windowsマネージャーから呼び出された場合にのみコンソールを開いたままにする方法はありますか?
コンソールUIを介してユーザーと対話するJavaアプリケーションを呼び出すDOSバッチスクリプトがあります。議論のために、それを呼びましょう、runapp.bat
そしてその内容は
バッチスクリプトがコンソールで呼び出される場合、すべてが正常に機能します。ただし、スクリプトがウィンドウマネージャーから呼び出された場合、新しく開いたコンソールは、アプリケーションの実行が終了するとすぐに閉じます。私が欲しいのは、すべての場合にコンソールを開いたままにしておくことです。
私は次のトリックを知っています:
pause
スクリプトの最後にコマンドを追加します。runapp.bat
コマンドラインから呼び出された場合、これは少し醜いです。これを使用して新しいシェルを作成する
cmd /K java com.example.myApp
これは私がこれまでに見つけた最良の解決策ですが、コマンドラインから呼び出されたときに余分なシェル環境が残るため、呼び出しexit
ても実際にはシェルが閉じられません。
もっと良い方法はありますか?
bash - ファイルの最新バージョンを一覧表示する Bash/DOS/PowerShell スクリプトは?
特定の条件に応じてさまざまなフォルダーにダンプされる (50 としましょう) レポートのリストがあります。すべてのレポートには標準的な名前が付いています。D099C.LIS、D18A0.LISなど
レポートが最大 5 つの異なる場所に存在する場合があり、各レポートの最新バージョンのすべての場所のリストを生成する必要があります。
コードを使用するか、「dir」または「ls」出力をテキスト ファイルにリダイレクトしてから Excel で操作することで簡単に実行できますが、DOS、bash、またはPowerShell。
これまでに PowerShell で思いついた最高のもの (bash を使用して同様のことを行いました) は次のとおりです。
これにより、拡張子が *.lis のすべてのファイルが再帰的に一覧表示され、名前 (asc) と日付 (desc) で並べ替えられ、ディレクトリ、名前、および日付が表示されます。
これにより、次のような出力が得られます。
私が今やるべきことは、最新バージョンではないファイルを削除して、出力が次のようになるようにすることです (フォーマットについてはまだあまり心配していません)。
誰にもアイデアはありますか?
[編集] この質問に対するいくつかの良いアイデアと回答。残念ながら、すべてを承認済みとしてマークすることはできませんが、EBGreen の (編集された) 回答は変更なしで機能しました。それらを確認しながら、ここに実用的なソリューションを追加します。
バッシュ:
パワーシェル:
command-line - ファイルを再帰的に削除するが特定のファイルを除外するコマンドライン
コマンド ラインを使用して、特定の種類のファイル (.zip ファイルなど) をフォルダーとそのすべてのサブフォルダーから削除する必要があります。理想的には、Windows で .bat ファイルとして実行できるものを探しています。
DEL コマンドがサブフォルダーを検索するための /S スイッチがあることは知っていますが、課題を追加するには、特定の名前のファイル (例として "Backup.zip") を除外する必要があります。
ファイルを再帰的に削除するが、特定の名前のファイルを除外する方法はありますか? 私の状況では、削除したいすべてのファイル名を明示的にリストし、削除したくないタイプのファイルのみを明示的にリストすることは実用的ではありません。
formatting - MS-DOSスクリプトで改行を印刷するには?
MS-DOS でプログラムの出力を印刷したいので、次のような .bat ファイルを作成しました。
しかし、コマンドプロンプトに表示される出力は次のようになります。
コードの本来の動作に関係のないもので Ruby コードを汚したくないので、MS-DOS を使用して出力に改行を挿入したかったのです。
MS-DOS で必要なコマンドは、'type' と 'print' だけですが、どちらもファイルを印刷するためのものです。
空行が2行あるテキストファイルを作成してtypeコマンドで出力してみましたが、見づらかったです。
どんなアイデアでも大歓迎です。
shell - ディレクトリ構造を維持しながら、指定されたファイル タイプをある場所から別の場所に移動するディレクトリを再帰的に検索します。
ディレクトリ (「C:\images」としましょう) を指定し、そこからすべての .jpg ファイルを別のディレクトリ (「D:\media」とします) に移動し、ディレクトリ構造を保持する方法はありますか (つまり、ファイルが「 C:\images\paintball\july\07\headshot.jpg" を移動すると、"D:\media\paintball\july\07\headshot.jpg" になります)?
私は cygwin を使用しています (ただし、DOS が機能する場合は喜んで使用します)。
scripting - 「for」ループで設定されている場合、バッチ スクリプトで変数を保持するにはどうすればよいですか?
特定のディレクトリ内のすべての jar を使用してクラスパスを設定する必要があります。Bash は次のように実行します。
しかし、" for
" は DOS では動作が異なり、基本的にコマンドをシェルに送信しますが、変数の "set" は保持されません。
for の$CP
外で for を要求すると、最後の jar ファイルのみが取得されます。%%j
内部をエコーすると、すべての値が含まれていることがわかります。
誰かが解決策を見つけましたか?
database - 古代の未知のストレージ システムに必要なヘルプ
みなさん、おはよう、
私はある顧客に、古いデータの一部を DOS ベースのシステムから、私が開発した新しいシステムに移行できると伝えました。しかし、私は、古いシステムにデータを保存したファイルを実際に見ずに、Google ですべての問題を解決できると思っただけだと言いました... 私は間違っていました!
とにかく、このプログラムには、.ave、.bak、.brw、.dat、.001、.002....、.007、.dbf、 .dbe および .his.
.Bak は明らかに SQL バックアップ ファイルではありません。
データを読み取って抽出する方法を教えてくれる可能性のあるこれらのファイルタイプのいずれかを使用したプログラミング経験がある人はいますか?
元の開発者がこれを許可するとは思わないという理由で、プログラム名について言及することはできません...
ありがとう。