答えて
dir /B /OD /TW file*.txt
は、最後に書き込まれた時間のソート順でファイル名をリストします(cf. dir /?
)。
@echo OFF
SETLOCAL EnableExtensions
rem delete empty `_lastfile` variable
set "_lastfile="
rem store file name of last written time into `_lastfile` variable
for /F "delims=" %%G in ('dir /B /OD /TW file*.txt 2^>NUL') do set "_lastfile=%%~G"
rem ↑↑↑↑↑↑ suppress errors
rem check the `_lastfile` variable
rem is defined?
rem AND is different from "file.txt"?
if defined _lastfile if /I "%_lastfile%" NEQ "file.txt" copy /Y "%_lastfile%" "file.txt"
資源(必読):
- (コマンドリファレンス)An A-Z Index of the Windows CMD command line
- (追加の特殊性)Windows CMD Shell Command Line Syntax
- (
%~G
など特記事項)Command Line arguments (Parameters) - (
2>NUL
など特別ページ)は、コードとして試みたのは何
次は、バッチスクリプトがあなたのために仕事をすることができ、コメント
大変ありがとうございました –
確かに私の答えよりも、よくできました:) –
ここではちょっとした解答です。このスクリプトは、現在のファイル(10)にあったテキストが含まれているだけではfile.txtを残し、file.txtにfile (10).txt
までfile (1).txt
からすべてのファイルを移動します
は昇順でそれをやって
を.txtに保証されます存在する最も高い番号は最後に移動される番号です。
@echo off
set /P name=Enter name of file without extension:
echo enter extension:
set /P ext=.
echo. & echo.
echo these actions will be performed: & echo.
FOR /L %%A IN (1,1,10) DO @echo move /y "%name% (%%A).%ext%" "%name%.%ext%"
echo. & pause & echo.
FOR /L %%A IN (1,1,10) DO move /y "%name% (%%A).%ext%" "%name%.%ext%"
pause
あなたは存在しないファイルを移動しようとしてからスクリプトを停止するにはIF EXIST %name% (%%A).%ext%
を使用することができますが、それは本当にそれを行うには何も影響を与えませんので、私は気にしませんでした。
上記のスクリプトは、特定の名前付きファイルに対して実行します。ことが可能となりますディレクトリ内のすべてのファイルのためにそれを行うには、ここにあなたがテキストファイルに記載されているディレクトリ内のすべてのファイルを取得するためにdir /b >filenames.txt
を使用
を軌道に乗るためにいくつかのヒントがある
すべてのためのアクションを実行するにはテキストファイルの行
for /f "usebackq delims= tokens=* %%a in (`filenames.txt`)" DO (
::some stuff here
)
を行い、私はそれに行くかの方法は、あなただけの「非重複」ファイル名のリストを持っているように、すべての(n)のファイルを削除し、手動で、filenames.txtを取得することです、これを入力として使用します。あなた
おそらくより洗練されたソリューションがあるかもしれませんが、バッチのすべての特質をもって、私はそれらがページとページであることに驚かないでしょう。
あなたは、私はあなたがすべての元のファイルを保存したい場合はCOPY
を使用したい、ちょうどコピーなしで最終file.txtなどで終わるすべてではない元のファイルを保持したい場合は、 COPY NOT MOVEを使用したいと考えています。ループのためのそのような場合には
、すべての余分な操作(すなわち唯一のために、すべてのファイルをコピーし、最も大きい番号のファイルをコピーではありません)あなたの(今複数行)内のIF NOT EXIST %name% (!B!).%ext%
どこ!B!=%%A+1
のようなものを除去し、上へSETLOCAL EnableDelayedExpansionを使用算術演算を適切に行う。しかし、実際には必要ありません。1、2、3をコピーしてください。次に、1と2をスキップして4をスキップするより少し遅い場合は4が同じことをします。
これは、これが明確でない場合は、質問をしてください。
- 1. PHP:私は(配列内の)ファイルのリストを持っているファイル名
- 2. R - 私は名前のベクトルの名前付きリスト持って
- 3. 私のバッチスクリプトは、ファイル名、ディレクトリ名エラー
- 4. 私はtest7.tclという名前のファイルが持っているのTcl
- 5. ランダムな名前のファイルの名前を変更するWindowsバッチスクリプト?
- 6. 数値は、私は、フォーム内のファイル名のリストを持っているパターン
- 7. 私はファイルとこの名前のファイルの例を持ってCMD
- 8. は、私はこのような名前のリストを持っているリスト
- 9. サブセット私は、ファイルの最初のリストを持っている
- 10. bashの〜私は、ファイルのリストを持っている
- 11. Pythonはファイルを読んで、私は名前のファイル持っている(/パッチ/に)いくつかのディレクトリでライン
- 12. 私はこのようなファイルを持っているリストに
- 13. アクセスは、私がリストをドロップダウン3持っていた.aspxファイル持って
- 14. Splunkは:私は2つのCSVファイル持っているリスト
- 15. は私がテーブルを持っている別の重複行
- 16. Pythonの:私はサンプルのファイル名のファイルを持っているファイルをチェックして、新しいファイル
- 17. が、私は2つのテーブルを持っていない、重複
- 18. は、私はR内のリストを持っているダイナミックな名前、R
- 19. 名前を変更してファイルをコピーするバッチスクリプト
- 20. 重複パターンは、私は次のコードを持っている
- 21. は、私は内容のファイルを持っているファイル
- 22. MapInfoのファイルは、私はファイルを持っている
- 23. スキャン重複するファイル名
- 24. はのは、私は、ファイル名の形式の次の型を持っていると言うファイル名
- 25. Xcodeでの重複ファイル名の扱い
- 26. は私が持っている私のapp.html.eexファイルではパーシャル
- 27. : ``私が持っている.hファイルで
- 28. 私が持っているエラー.xlsファイル
- 29. パンダ:私たちは名前で各単語の名前とハッシュのリストを持っている。例えばシリーズ
- 30. は、私が持っている私のRファイルのパラメータ
Redirection? – Hackoo
私はそれをどうするか分かりません。私は今、どのようにループのために使用する場合、条件、変数を設定しますが、私は多くの経験がありません。 Miの最初のアイデアはforループを実行し、 "file(%i).tex"が存在するかどうかをテストすることです。しかし、私はどのように進行するかわからない... –
私はあなたのポストで質問を見つけることができません。タイトルはあなたが何かを削除したいと言っていますが、 "質問"本文には何を削除するか記載されていません。ですから、明確にしてください!最大番号のファイルにも最新の作成日または変更日がありますか?あなたがこれまでに試したことと何が問題になっているかを分かち合いましょう! StackOverflowは無料でスクリプトを要求する場所ではありません!これを読んでください:[ask] – aschipfl