2016-06-27 4 views
2

私はバッチで本当の「newbe」だと、次のスクリプトを書いた:拡張子を付けずにファイル名をバッチで出力するにはどうすればよいですか?

chdir C:\Users\oRookie\Desktop\batch 
dir /b *txt > out.txt 

ファイルout.txtが作成され、out.txtが含まれています。

これまでのところ、もっとうまくいってみましょう。今は内容がちょうどout 'であることを望みます。ですから、ファイル拡張子を削除するには、出力でファイル拡張子を削除する方法が必要です。どうしたらいいですか?

ありがとうございます。

+0

をcontaing out.txtをという名前のtxtを出力ちょうどあなたがから読み出すために、次にスキャンされるだろうどのようなファイルの 'dir/b *表TXT> out' – Hackoo

+0

書くのか? – oRookie

答えて

1

このコードを試してみて、探しているものがあれば教えてください。

@echo off 
Set Location=%userprofile%\Desktop\ 
Set Log=out.txt 
if exist %Log% del %Log% 
for /f %%i in ('dir /b /a-d %Location%*.txt') do @echo %%~ni >> %Log% 
start "" %Log% 
+0

発見されたファイルが見つからないので正しく動作しませんか? – oRookie

+0

@oルーキーあなたの最初の質問を編集して、あなたの目的を理解するために例を挙げて詳細をお知らせください! – Hackoo

+0

実際のファイル名(拡張子なし)をテキストファイル自体に保存します。そして私はまだテキストファイルをテキストファイルにします。 – oRookie

1

これをしたいと思うが、あなたはコマンドラインからこのような何かを行うことができる理由は考えていない:

type nul > out.txt | for /r %%i in (*.txt) do @echo %%~ni >> out.txt 
+0

私はそれを理解せずにあなたのスクリプトを試しました。とにかくファイルを作成していません。私は間違って何をしていますか? - これは、既存のテキストファイルからバージョンを取得し、後でそれをversion.txtに転送するインストールスクリプトです。私はちょうどこの例が理解しやすいと思った。 – oRookie

+0

オハイオ州オハイオ州は今それが働くことをありがとう。 :)私はあなたがクリーンなようなソリューションと思います。今私はコードを理解する必要があります。 – oRookie

+0

'/ a-d'は何をしていますか教えてください。 – oRookie

0

type nul > out.txt | for /r %i in (*.txt) do @echo %~ni >> out.txt 

それともスクリプトで

これでいいはずです:

for /f "tokens=1 delims=." %%g in ('dir /b C:\Users\oRookie\Desktop\batch') do echo %%g >> out.txt 

はテキストのみ「アウト」

関連する問題