【.cmd】 バッチファイルスクリプト %15 【.bat】 (773レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
21: デフォルトの名無しさん [] 2022/10/05(水) 15:17:30.50 ID:NmGDxxah(1/2) AAS
質問です。
ファイルのフルパスを表示するときに、
このコマンド使っていますよ、という意味で
rem %0
echo %0
と買いているんですが、remの方の変数まで展開されてしまいます。
展開させずに文字列のまま表示するにはどうしたらよいでしょうか?
93(1): デフォルトの名無しさん [sage] 2022/12/02(金) 07:27:12.50 ID:elckNyGo(1/2) AAS
>>8787(1): デフォルトの名無しさん [sage] 2022/12/01(木) 15:35:07.57 ID:a9edrtS0(1) AAS
set d=%DATE:/=%
とやった後、1日前の日付にしたいのですがうまい方法・コマンドないですか
20221201 -> 20221130
20221202 -> 20221201
20220101 -> 20211231
20200301 -> 20200229
うるう年と月末年末に気を付けてif文で分けるしかないのかなと思いますが
case文ってコマンドプロンプトにないですよね
set /a d=20221201
set /a f=10000,g=100,h=8869,i=69,j=278803
set /a "n=d-1,n-=!(n%%f-g)*h,c=n/f"
set /a "a=j-!(c%%4)+!(c%%100)-!(c%%400)<<6"
set /a "n-=!(n%%g)*(i+(a>>(n%%f/g)*2&3))"
echo %n%
291: デフォルトの名無しさん [] 2023/05/10(水) 23:36:37.50 ID:7WScgW4R(3/3) AAS
バッチスクリプトの引数参照(?)の展開を 通常の変数でも使いたい時ありますよね。
forを使えば、わざわざ関数に渡さなくていいってことですよね。覚えておきます。
344: デフォルトの名無しさん [sage] 2023/06/30(金) 00:26:27.50 ID:5iDE7+iq(1) AAS
>>341なんで?
440: デフォルトの名無しさん [sage] 2023/09/20(水) 07:45:17.50 ID:2uRYZGK4(1) AAS
それな
494: デフォルトの名無しさん [sage] 2024/01/19(金) 06:08:19.50 ID:xbWxkRsK(1) AAS
>>492492(2): デフォルトの名無しさん [sage] 2024/01/18(木) 22:00:03.62 ID:MX5L5JEY(1) AAS
pushd C:\AAA\BBB\CCC
rd /s/q フォルダ1 フォルダ2 ファイル1 ファイル2 ファイル3・・
popd
…フォルダは消せてもファイル消せないか。じゃあ、
pushd C:\AAA\BBB\CCC
rd /s/q フォルダ1 フォルダ2 ファイル1 ファイル2 ファイル3・・
del /f フォルダ1 フォルダ2 ファイル1 ファイル2 ファイル3・・
popd
エラーは無視w
フォルダ1とフォルダ2を一つの命令で消すことは出来ないのでは?
551: デフォルトの名無しさん [sage] 2024/06/17(月) 16:53:21.50 ID:A2yJgFtn(1) AAS
D&Dやめて日付順のリストファイルを作成したらどうかね
エクスプローラーとメモ帳で簡単にできるでしょ
585: デフォルトの名無しさん [sage] 2024/11/07(木) 16:57:38.50 ID:sK42d9tR(2/2) AAS
>>577577(2): デフォルトの名無しさん [sage] 2024/11/07(木) 07:18:54.75 ID:diE3Ipx6(1) AAS
>>575
@echo off & chcp 65001
set a="%cmdcmdline:"=" "%"
call :x > list.txt & exit
:x
set a=%a:*.bat" =%
for %%i in (%a:""=%) do set a=%%i& call :y
exit /b
:y
if "%a:~1,1%"==" " set a=%a: =" "%
for %%i in (%a:""=%) do echo %%~nxi
list.txt は UTF-8 にしてみた
バッチの拡張子は .bat
>583583(1): デフォルトの名無しさん [sage] 2024/11/07(木) 13:07:58.08 ID:sK42d9tR(1/2) AAS
>>577
神様ありがとう
なんでかわからないけど動きました
list. txtを%USERPROFILE%\Desktopに作成するにはどのようにすれば?
単純に
"%USERPROFILE\Desktop\list.txt"
に変更してもダメでした
今やったらできました
お騒がせしました
もしよろしければ
解説お願いします
601: デフォルトの名無しさん [sage] 2024/11/09(土) 14:09:23.50 ID:A663IrvX(1/5) AAS
&はbatでの特殊記号であり、コマンドの区切りの意味がある
set a=aaaa&set b=bbb&set c=ccc
とか複数の命令を1行で書ける
他に&&,||もある
624: デフォルトの名無しさん [sage] 2024/11/11(月) 04:28:35.50 ID:UKR+WOTm(1) AAS
>>623623(1): デフォルトの名無しさん [] 2024/11/11(月) 03:53:20.62 ID:vS/DyEQP(1) AAS
batというプログラミング初めてです。
初心者に良いサイト教えてください。
Windows 10です。
www.google.co.jp
707: デフォルトの名無しさん [sage] 2025/04/29(火) 14:43:58.50 ID:6pTzs1wL(1) AAS
>>699,705699(1): デフォルトの名無しさん [] 2025/04/28(月) 22:55:03.86 ID:HidpH75d(1) AAS
コマンドプロンプト初心者です。
新部署では毎日他業者と画像やpdfのやり取りを行うのですが、そのやり取りした記録の保存を任されることになりました。
保存するデータの命名規則が「YYYYMMDD-(2桁連番)-元ファイル名.拡張子」なんですが、毎日データが数十個あって連番を手で振る作業がそろそろしんどいです。
コマンドプロンプトは使えてもbatは使えない特殊環境で、何とかforfilesとrenameを使って「元ファイル名.拡張子」を「YYYYMMDD-元ファイル名.拡張子」に一括改名するまではできるようになりました。
更に連番を振るようにするにはどうすればいいでしょうか?
なお、「元ファイル名.拡張子」の部分には法則性はまるでありません。
「Flexible Renamer」外部リンク[html]:www.vector.co.jp を使って
「YYYYMMDD-(2桁連番)-元ファイル名.拡張子」(※拡張子は小文字のみ統一)へ一括改名するなら、
「高度なリネーム」チェックボックスをONにしてから
置換パターン文字列として「\Y\m\d-??-\1.\L\2\E」を指定すればいいと思う。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.032s