タグ付けされた質問 「batch-file」

バッチファイルは、MS-DOS、IBM OS / 2、またはMicrosoft Windowsシステムのコマンドインタープリターによって実行される一連のコマンドを含むテキストファイルです。

1
特定のファイルが含まれていない場合にフォルダーを削除するバッチファイル
サブフォルダーがたくさんあるフォルダーがあります。サブフォルダーのリストを調べて、指定されたファイルが存在するかどうかを確認するバッチファイルが必要です。ファイルが存在しない場合、サブフォルダを削除できます。 これは、Windows 7ワークステーションで実行する必要があります。 for / fおよび存在する場合、コマンドで構文が混同されています。 for /f /f%% in ('dir /b c:\test') do if exist "test.txt" rename c:\test\%% tobedeleted 私は1つの議論で多くのことをしようとしているか、重要な何かを見逃していると思います。

0
ConEmuで30を超えるタブを開くにはどうすればよいですか?
100個以上のコンソールを開く.batファイルがありますが、新しいタブで必要です。 問題は、ConEmuには最大30個のタブがあることです。通常のcmdでこれを行うことができますが、100個以上の新しいウィンドウがあります。画面の多くのスペースを節約できるため、タブでそれらを使用することをお勧めします。 ConEmuがこれを実行できない場合、誰にも提案がありますか?

2
競合を上書きせずにディレクトリをマージする
通常は重複しない2つのディレクトリ構造(AとB)があります。AをBにマージしたい 次のコマンドは、ディレクトリをマージします。 xcopy A B /E /Y ただし、2つのディレクトリ間の競合を検出でき、ファイルが既に宛先(B)にある場合は上書きしません。xcopyはファイルを自動的に上書きします。競合(/ y)ごとにプロンプ​​トが表示されないようにします。xcopyを使用して、競合時にエラーを返します。 私は日付を気にしないので、/ Dオプションも機能しません。 これはxcopyでは不可能だと思います。他の解決策はありますか?

1
バッチ(CMD)ファイルの実行中に権限を昇格する際の問題
選択したサーバーでさまざまなことを確認するために使用するバッチ(CMD)ファイルをまとめました。以下に掲載されているのはほとんどすべてです(機密情報を除く)。適切なコマンドラインで起動された場合、バッチファイルは起動された日時の確認に進みます。この方法で私たちはそれを私たちのサーバーのSTARTUPフォルダに入れることができ、ログインするとそれが実行され、ユーザーが午前6時45分から午前7時30分までの営業日にログインすれば、特定のチェックが行われます。アプリが起動されるなど)。選択的に、適切なアプリはCOMPUTERNAME、USERNAME(以下のコードでは削除されています)などのような環境変数に基づいて実行されます。 実行する必要があるプロセスの1つに、権限の昇格が必要です(IISRESET)。これをバッチファイル内で実行するために、Mattが示した例(ありがとう)を使用しました。 https://stackoverflow.com/questions/7044985/how-can-i-auto-elevate-my-batch-file-so-that-it-requests-from-uac-admin-rights 。これは新しいトピックなので、私はそのスレッドに投稿したくはありませんでした。私が以下に提供するバッチファイルでは、それは現状のままで適切に動作します(ただし、保証は一切含まれていません)。しかし、次のように変更して「コメント」文字(二重コロン)を削除したとします。 :BEGIN If %COMPUTERNAME%==SERVER1 explorer.exe "c:\queue" :: If %COMPUTERNAME%==SERVER1 Goto CHECKPRIVILEGES If %COMPUTERNAME%==SERVER2 explorer.exe "c:\queue" :: If %COMPUTERNAME%==SERVER2 Goto CHECKPRIVILEGES :COMMON ...(に)... :BEGIN If %COMPUTERNAME%==SERVER1 explorer.exe "c:\queue" If %COMPUTERNAME%==SERVER1 Goto CHECKPRIVILEGES If %COMPUTERNAME%==SERVER2 explorer.exe "c:\queue" If %COMPUTERNAME%==SERVER2 Goto CHECKPRIVILEGES :COMMON …その場合、バッチファイルは正しく実行されません。 2行からコメントを削除すると、バッチファイルは変数を正しく評価しなくなりました(手動で実行した場合でもSTARTUPプロセスの一部として実行した場合でも)。バッチファイルに次のように記載されていますが。 If %COMPUTERNAME%==SERVER1 If %COMPUTERNAME%==SERVER2 …SERVER1に関連するコマンドは正しく実行されますが、SERVER2はSERVER1とSERVER2の両方に関連するコマンドを実行します。その後、バッチファイルは停止し、COMMONセクションのコマンドは実行されません。 …

1
ユーザーのセッションでプロセスが実行されているかどうかを確認した後の自動起動
私は以下のもので作業してきました(明らかに異なるアプリケーションで): @echo off tasklist /FI "IMAGENAME eq AutoHotkey.exe" | find /i "AutoHotkey.exe" IF ERRORLEVEL 2 GOTO NEXTPROGRAM IF ERRORLEVEL 1 GOTO LAUNCHPROGRAM :NEXTPROGRAM goto LOLLAUNCHER :LAUNCHPROGRAM start "" "C:\Program Files\AutoHotkey\AutoHotkey.exe" goto LOLLAUNCHER :LOLLAUNCHER tasklist /FI "IMAGENAME eq LoLLauncher.exe" | find /i "LoLLauncher.exe" IF ERRORLEVEL 2 GOTO NEXTPROGRAM2 IF ERRORLEVEL 1 …

1
Windowsアプリパッケージをバッチスクリプトで実行できますか?
私はMicrosoftのアプリパッケージフォーマットを試していますが、これらのアプリを実行できるかどうかを確認したいです。 外側 スクリプトを含むアプリコンテナの説明。私が行った研究のいくつかはいくつかの可能性を示していますが、それがうまくいくかどうかはほとんど不明確または不確実に思われます。 Win32実行可能ファイルを実行するために使用するバッチスクリプトの例を次に示します。 "%TARGETPATH%\%TARGET%.exe" 可能であれば、Windowsアプリケーションでこれを達成するにはどうすればよいですか。パラメータはほぼ同じになると思います。アプリのパッケージとIDが必要となる可能性が最も高いことはわかっていますが、目標を達成するためにバッチスクリプトで使用する構文がわかりません。バッチスクリプトを使用してコマンドラインプロセッサからWindowsアプリケーションを実行する方法を教えてください。私はPowerShellまたはVBスクリプトの代替品にも寛容です。

2
サービスを介してバッチファイルを実行する
私はサードパーティ製のアプリケーションを介して実行するようにバッチファイルをスケジュールしようとしていますが、出力ファイルがディレクトリに作成されません。コマンドラインから.BATファイルを実行すると、それは機能し、ファイルが作成されます。 Windowsスケジュールを使用することも成功します。 基本的に、サードパーティ製ソフトウェアは.BATファイルをスケジュールし、それはサードパーティ製ユーザインタフェースの中で成功を示しています。コマンドプロンプトから実行する場合とソフトウェアを実行する場合の違いは、ソフトウェアはWindowsサービスを使用してバッチを起動することです。 実行するために.BATファイルを正常に呼び出すことができたので、サードパーティソフトウェアが成功を示します。ただし、スクリプト内で呼び出されている他のEXEを制御できません。 私はサードパーティ製ソフトウェアで簡単な.BATファイルを実行することができます。例えば、copyコマンドです。 私は問題を抱えている.BAT私は場所にファイルを作成するためにExcelを起動するコンパイルされたEXEを呼び出します。 .batファイルはsomething.exeを呼び出し、次にExcel.exeを呼び出します。 C:\ something.exe -o D:\ filename.xlsm C:\ filename.xlsm refresh_pivot あなたはそれが権限の問題だと思いますか?プロセスモニターを使用してアクセス拒否エラーを確認しましたが、トレースによればすべてが機能しているようです。それは非64ビットOS上で動作しました、私は現在Win2008 64ビットを使用しています。

1
私のバッチスクリプトでwzzip(winzip)コマンドラインで使用するために、ルートフォルダ内の特定の日付付きフォルダを一覧表示するにはどうすればいいですか?
私がやろうとしているのは、私のバッチスクリプト内でwinzipコマンドライン(wzzip)を使用し、フォルダー名に201409(つまり2014年9月)を持つフォルダーを1つのzipファイルに圧縮することです。 複数の月のためのフォルダー(それぞれに多くのファイルを含む)がありますが、私はそれらを月ごとにグループ化しておく必要があります。 私は現在DIRを実行し、201409のようなフィルタに基づいてファイル名のリストを出力します。それは現在のフォルダからその201409を含む全てのファイル名を取得します。私が付けた名前の1つのzipファイルにすべてまとめてください。 私は見つけることができるDIRコマンド用のスイッチのあらゆる組み合わせを試してみました。特定のフィルタに適合するファイル名のテキストファイルを生成するとき、それは素晴らしい働きをします。この例のように、フォルダに対してどのようにそれを行うのか私は理解できません。 私はwinzipを使ってこれを維持しなければならないので、他のアプリケーションを使ってアイデアを提供しないでください、ありがとう。

2
「実行」プロンプトからPythonスクリプトを実行する
これは簡単だろうと思いましたが、しばらく苦労していました。 私のWindowsマシンには "myscript.py"というPythonスクリプトがあります。私は自分のPATH上にあるフォルダーにそれを持っていて、PATHEXT環境変数に ".py"拡張子を追加したので、 "myscript"をタイプする代わりに "myscript"を実行することによってコマンドプロンプトからスクリプトを実行できます。 .py ")。これはうまくいっています。 しかし、 "Run"プロンプトからスクリプトを起動しても同じ動作が得られないようです(Windows-R)。私が "myscript.py"とタイプすれば、それはうまく機能しますが、 "myscript"を実行するだけではうまくいきません。 Windows cannot find 'myscript'... エラーメッセージ。 "Run"プロンプトは単にPATHEXT変数を認識しないと想定していましたが、他の種類のプログラムでも問題ないようです - Runプロンプトから.bat(Windowsバッチスクリプト)と.exe(Windows実行可能ファイル)を実行せずに実行できます。必要な拡張機能 拡張子なしで自分のPythonスクリプトを実行してもRunプロンプトから機能しないのはなぜですか?

0
インターフェイス名に関係なくLANまたはワイヤレスプロファイルをインポートするためのWindowsバッチファイル
ネットワークプロファイルをインポートするときにインターフェイス名を無視する方法 以下のバッチファイルは、以下の2つのバッチファイルで定義されているように、エンドポイントが同じインターフェイス名(通常、ローカルエリア接続、ワイヤレスネットワーク接続、イーサネット、Wi-Fi)を持つ場合にのみ機能します。私が持っている既存のバッチファイルは以下の通りです: LANの場合 for /F "tokens=3 delims=: " %%H in ('sc query "dot3svc" ^| findstr " STATE"') do ( if /I "%%H" NEQ "RUNNING" ( sc start dot3svc ) ) sc config dot3svc start= auto netsh lan add profile filename=".\Local Area Connection.xml" WLAN用 for /F "tokens=3 delims=: " %%H in …

1
重複行を削除してファイルをソートするためのバッチ?
テキストファイルがある場合は、コマンドで並べ替えることができます sort input.txt output.txt。テキストファイルから重複行を削除することもできますか。 (理想的には、Windowsでバッチファイルで実行できる解決策が欲しいのですが。) これは基本的にテキストファイルから重複を削除する方法を尋ねることと同じです。ソートについて言及した理由は、ファイルがソートされていて、それらが連続した行にしか現れないことを知っていれば、重複を削除する方が簡単だと思うからです。 。だから私はそれがソートと一緒に重複を削除する方法がある可能性が高いと思います。 (そして、私がこのidを使いたいという目的のためには、繰り返される行が削除される限り、ファイル内の行の順序が変更されても問題ありません。) たとえば、次のようなファイルからは、 100 100 100 100 101 101 102 手に入れたい 100 101 102

0
bash、bat、またはpowershellスクリプト内から、Lync内で最後に送信されたIMメッセージを受信することは可能ですか?
私はOutlookとLync 2013を使用しています。msysbashをインストールし、IMが送信されるたびにGrowl通知を送信するwhile(1)ループを実行するスクリプトを使用します(それは醜いLyncログファイルを読み取ります)。 メッセージ自体を含めたいのですが。これらはログファイルには保存されず、ネットワークアダプタの盗聴もできません(ネットワーク上で暗号化されているため)。 OutlookはIMの会話を可能な限り最も恐ろしい方法で保存し、一貫して保存するようには思われません(保存された会話は1日に数回しか保存されないようです。 これらを取得するための機能や方法はありますか?

1
バッチファイルパスワードジェネレーターで一貫した出力が得られない
私はこのコードを持っています。基本的にはランダムパスワードジェネレーターです。「10」と言うパスワードの長さを入力すると、10文字の数字と記号でランダムパスワードが生成され、txtファイルに保存されます。この問題は、2つ目を作成するときに発生します。もう一度「10」のパスワード長が必要なのに、たとえば3または4のパスワードしか与えられない場合は、状況によって異なります。私はこれでどこが間違っていたのか?どんな助けも大歓迎です。 @Echo Off mode con: cols=70 lines=25 :start color 8a echo ---------------------------------------------------------------------- echo -------- Password Generator ------- echo ---------------------------------------------------------------------- echo. echo. Echo Hello %username% set /P lengthnumberuser="What length do you want your password to be?: cls Setlocal EnableDelayedExpansion Set _RNDLength=%lengthnumberuser% Set _Alphanumeric=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%%$$@@** Set _Str=%_Alphanumeric%987654321 :_LenLoop IF NOT "%_Str:~18%"=="" SET _Str=%_Str:~9%& …

0
Webページがまだ開いていない場合に開く方法、および開いている場合は代わりに切り替える方法
現在、バッチファイルでこのコマンドを実行"C:\Program Files (x86)\Internet Explorer\iexplore.exe" "http://localhost"して、ページを生成してコピーした後にInternet Explorerで開きます。 ただし、既にページを開いている場合は、2番目のウィンドウが開きます。既存のウィンドウまたはタブに切り替えることでこれを防ぐにはどうすればよいですか?

1
最新のファイルを新しいフォルダーにコピーするWindowsバッチファイル
フォルダーとそのサブフォルダーから最新のファイルを新しい場所にコピーしたい。 次のコードは正常に機能しますが、日付と時刻(/ O:D)でフィルタリングするのではなく、日付のみでフィルタリングするため、同じ日付のすべての最新ファイルが最新のファイルとして新しい場所にコピーされます。 FOR /F "delims=|" %%I IN ('DIR "D:\Backups\DB\*.bak" /B /O:D /S') DO SET NewestFile=%%I copy "%NewestFile%" "D:\Backups\DB\Latest"

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.